20 #ifndef ANTKEEPER_NEST_SELECTION_STATE_HPP
21 #define ANTKEEPER_NEST_SELECTION_STATE_HPP
37 void create_first_person_camera_rig();
38 void destroy_first_person_camera_rig();
39 void set_first_person_camera_rig_pedestal(
float pedestal);
40 void move_first_person_camera_rig(
const math::fvec2& direction,
float factor);
41 void satisfy_first_person_camera_rig_constraints();
43 void setup_controls();
44 void enable_controls();
45 void disable_controls();
47 std::vector<std::shared_ptr<::event::subscription>> action_subscriptions;
48 std::shared_ptr<::event::subscription> mouse_motion_subscription;
49 std::shared_ptr<render::model> worker_model;
51 bool mouse_look{
false};
52 bool mouse_drag{
false};
53 bool adjust_exposure{
false};
54 bool adjust_time{
false};
58 float movement_speed{0.0f};
65 float first_person_camera_rig_translation_spring_angular_frequency;
66 float first_person_camera_rig_rotation_spring_angular_frequency;
67 float first_person_camera_rig_fov_spring_angular_frequency;
68 float first_person_camera_rig_min_elevation;
69 float first_person_camera_rig_max_elevation;
70 float first_person_camera_near_fov;
71 float first_person_camera_far_fov;
72 float first_person_camera_near_speed;
73 float first_person_camera_far_speed;
74 float first_person_camera_rig_pedestal_speed;
75 float first_person_camera_rig_pedestal;
77 double first_person_camera_yaw{0.0};
78 double first_person_camera_pitch{0.0};
80 std::shared_ptr<ccd_ik_solver> larva_ik_solver;
82 std::shared_ptr<scene::light_probe> sky_probe;
Abstract base class for game states.
nest_selection_state(::game &ctx)
virtual ~nest_selection_state()
entt::entity id
Entity ID type.