camera_controller.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include "camera_controller.h"
  2. #include "../../render/gl/camera.h"
  3. namespace Game::Systems {
  4. void CameraController::move(Render::GL::Camera &camera, float dx, float dz) {
  5. camera.pan(dx, dz);
  6. if (camera.isFollowEnabled()) {
  7. camera.captureFollowOffset();
  8. }
  9. }
  10. void CameraController::elevate(Render::GL::Camera &camera, float dy) {
  11. camera.elevate(dy);
  12. if (camera.isFollowEnabled()) {
  13. camera.captureFollowOffset();
  14. }
  15. }
  16. void CameraController::moveUp(Render::GL::Camera &camera, float dy) {
  17. camera.moveUp(dy);
  18. if (camera.isFollowEnabled()) {
  19. camera.captureFollowOffset();
  20. }
  21. }
  22. void CameraController::yaw(Render::GL::Camera &camera, float degrees) {
  23. camera.yaw(degrees);
  24. if (camera.isFollowEnabled()) {
  25. camera.captureFollowOffset();
  26. }
  27. }
  28. void CameraController::orbit(Render::GL::Camera &camera, float yaw_deg,
  29. float pitch_deg) {
  30. camera.orbit(yaw_deg, pitch_deg);
  31. if (camera.isFollowEnabled()) {
  32. camera.captureFollowOffset();
  33. }
  34. }
  35. void CameraController::zoomDistance(Render::GL::Camera &camera, float delta) {
  36. camera.zoomDistance(delta);
  37. if (camera.isFollowEnabled()) {
  38. camera.captureFollowOffset();
  39. }
  40. }
  41. void CameraController::set_follow_enabled(Render::GL::Camera &camera,
  42. bool enable) {
  43. camera.set_follow_enabled(enable);
  44. }
  45. void CameraController::set_follow_lerp(Render::GL::Camera &camera,
  46. float alpha) {
  47. camera.setFollowLerp(alpha);
  48. }
  49. } // namespace Game::Systems