BsSceneCameraController.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #pragma once
  2. #include "BsPrerequisites.h"
  3. #include "BsComponent.h"
  4. #include "BsMath.h"
  5. #include "BsVirtualInput.h"
  6. namespace BansheeEngine
  7. {
  8. class SceneCameraController : public Component
  9. {
  10. public:
  11. virtual void update();
  12. static const String MOVE_FORWARD_BTN;
  13. static const String MOVE_LEFT_BTN;
  14. static const String MOVE_RIGHT_BTN;
  15. static const String MOVE_BACKWARD_BTN;
  16. static const String FAST_MOVE_BTN;
  17. static const String ROTATE_BTN;
  18. static const String HORIZONTAL_AXIS;
  19. static const String VERTICAL_AXIS;
  20. private:
  21. float mCurrentSpeed;
  22. Degree mPitch;
  23. Degree mYaw;
  24. bool mLastButtonState;
  25. VirtualButton mMoveForward;
  26. VirtualButton mMoveLeft;
  27. VirtualButton mMoveRight;
  28. VirtualButton mMoveBackward;
  29. VirtualButton mFastMove;
  30. VirtualButton mRotate;
  31. VirtualAxis mHorizontal;
  32. VirtualAxis mVertical;
  33. static const float START_SPEED;
  34. static const float TOP_SPEED;
  35. static const float ACCELERATION;
  36. static const float FAST_MODE_MULTIPLIER;
  37. static const float ROTATION_SPEED; // Degrees/second
  38. /************************************************************************/
  39. /* COMPONENT OVERRIDES */
  40. /************************************************************************/
  41. protected:
  42. friend class SceneObject;
  43. SceneCameraController(const HSceneObject& parent);
  44. };
  45. }