CameraFlyer.h 807 B

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