8 #include <componentptr.h>
9 #include "perspcameracomponent.h"
10 #include <glm/gtx/quaternion.hpp>
14 class FirstPersonControllerInstance;
16 class KeyReleaseEvent;
17 class PointerMoveEvent;
18 class PointerPressEvent;
19 class PointerReleaseEvent;
20 class TransformComponentInstance;
21 class TransformComponent;
22 class KeyInputComponent;
23 class KeyInputComponent;
39 virtual void getDependentComponents(std::vector<rtti::TypeInfo>& components)
const override;
41 float mMovementSpeed = 3.0f;
42 float mRotateSpeed = 1.0f;
68 virtual void update(
double deltaTime)
override;
75 void enable(
const glm::vec3& translate,
const glm::quat& rotate);
143 TransformComponentInstance* mTransformComponent =
nullptr;
144 bool mMoveForward =
false;
145 bool mMoveBackward =
false;
146 bool mMoveLeft =
false;
147 bool mMoveRight =
false;
148 bool mMoveUp =
false;
149 bool mMoveDown =
false;
150 bool mEnabled =
true;
151 bool mMoving =
false;
152 float mMovementSpeed = 1.0f;
153 float mRotateSpeed = 1.0f;
Definition: firstpersoncontroller.h:31
Definition: cameracomponent.h:38
Definition: inputevent.h:70
ComponentPtr< nap::PerspCameraComponent > mPerspCameraComponent
Property: "PerspCameraComponent" Camera that we're controlling.
Definition: firstpersoncontroller.h:44
Definition: errorstate.h:19
Definition: inputevent.h:83
Definition: inputevent.h:189
Definition: firstpersoncontroller.h:54
void disable()
Definition: firstpersoncontroller.h:85
Definition: component.h:28
Definition: component.h:43
Definition: component.h:151
Definition: inputevent.h:202
Definition: templateapp.h:17
float getRotationSpeed() const
Definition: firstpersoncontroller.h:106
float getMovementSpeed() const
Definition: firstpersoncontroller.h:95
void setMovementSpeed(float speed)
Definition: firstpersoncontroller.h:101
void setRotationSpeed(float speed)
Definition: firstpersoncontroller.h:112
Definition: inputevent.h:176