2
0

BsSceneCameraController.h 1.6 KB

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