Files
QuaternionEngine/src/scene/camera/mode_orbit.h
2025-12-26 18:09:11 +09:00

26 lines
748 B
C++

#pragma once
#include <scene/camera/icamera_mode.h>
struct OrbitCameraSettings;
class OrbitCameraMode : public ICameraMode
{
public:
explicit OrbitCameraMode(OrbitCameraSettings &settings);
~OrbitCameraMode() override = default;
const char *name() const override { return "Orbit"; }
void on_activate(SceneManager &scene, Camera &camera) override;
void process_input(SceneManager &scene,
Camera &camera,
InputSystem &input,
bool ui_capture_keyboard,
bool ui_capture_mouse) override;
void update(SceneManager &scene, Camera &camera, float dt) override;
private:
OrbitCameraSettings &_settings;
bool _rmb_down = false;
};