CameraFlyer.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //__________________________ Banshee Project - A modern game development toolkit _________________________________//
  2. //_____________________________________ www.banshee-project.com __________________________________________________//
  3. //________________________ Copyright (c) 2014 Marko Pintera. All rights reserved. ________________________________//
  4. #pragma once
  5. #include "BsPrerequisites.h"
  6. #include "BsComponent.h"
  7. #include "BsMath.h"
  8. #include "BsVirtualInput.h"
  9. namespace BansheeEngine
  10. {
  11. class CameraFlyer : public Component
  12. {
  13. public:
  14. CameraFlyer(const HSceneObject& parent);
  15. virtual void update();
  16. private:
  17. float mCurrentSpeed;
  18. Degree mPitch;
  19. Degree mYaw;
  20. bool mLastButtonState;
  21. HCamera mCamera;
  22. VirtualButton mMoveForward;
  23. VirtualButton mMoveBack;
  24. VirtualButton mMoveLeft;
  25. VirtualButton mMoveRight;
  26. VirtualButton mFastMove;
  27. VirtualButton mRotateCam;
  28. VirtualAxis mVerticalAxis;
  29. VirtualAxis mHorizontalAxis;
  30. static const float START_SPEED;
  31. static const float TOP_SPEED;
  32. static const float ACCELERATION;
  33. static const float FAST_MODE_MULTIPLIER;
  34. static const float ROTATION_SPEED; // Degrees/second
  35. };
  36. }