Program Listing for File TransformComponent.h¶
↰ Return to documentation for file (Source\Math\Inc\Math\TransformComponent.h
)
#pragma once
#include "Math/Core.h"
#include "Core/Events.h"
namespace Azura {
namespace Math {
class TransformComponent {
public:
TransformComponent();
explicit TransformComponent(const Matrix4f& transform);
static TransformComponent FromTranslationVector(const Vector3f& translation);
void SetStepSize(float value);
void OnKeyEvent(KeyEvent keyEvent);
void Update(float timeDelta);
void SetUpKey(KeyboardKey key);
void SetDownKey(KeyboardKey key);
void SetLeftKey(KeyboardKey key);
void SetRightKey(KeyboardKey key);
void SetForwardKey(KeyboardKey key);
void SetBackwardKey(KeyboardKey key);
const Matrix4f& GetTransform() const;
private:
float m_sensitivity{1.0f};
float m_stepSize{10.0f};
Matrix4f m_transform;
KeyboardKey m_forwardKey{KeyboardKey::W};
KeyboardKey m_backwardKey{KeyboardKey::S};
KeyboardKey m_upKey{KeyboardKey::R};
KeyboardKey m_downKey{KeyboardKey::T};
KeyboardKey m_leftKey{KeyboardKey::A};
KeyboardKey m_rightKey{KeyboardKey::D};
int m_moveForwardFactor{0};
int m_moveUpFactor{0};
int m_moveRightFactor{0};
};
} // namespace Math
} // namespace Azura