CameraFlyer.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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 CameraFlyer : public Component
  11. {
  12. public:
  13. CameraFlyer(const HSceneObject& parent);
  14. virtual void update();
  15. private:
  16. float mCurrentSpeed;
  17. Degree mPitch;
  18. Degree mYaw;
  19. bool mLastButtonState;
  20. HCamera mCamera;
  21. VirtualButton mMoveForward;
  22. VirtualButton mMoveBack;
  23. VirtualButton mMoveLeft;
  24. VirtualButton mMoveRight;
  25. VirtualButton mFastMove;
  26. VirtualButton mRotateCam;
  27. VirtualAxis mVerticalAxis;
  28. VirtualAxis mHorizontalAxis;
  29. static const float START_SPEED;
  30. static const float TOP_SPEED;
  31. static const float ACCELERATION;
  32. static const float FAST_MODE_MULTIPLIER;
  33. static const float ROTATION_SPEED; // Degrees/second
  34. };
  35. }