Euphoria
fpscontroller.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "base/vec3.h"
4 #include "base/angle.h"
5 #include "base/quat.h"
6 #include "core/key.h"
7 #include "core/sensitivity.h"
8 
9 namespace eu::core
10 {
12  {
15  bool is_left_down = false;
16  bool is_right_down = false;
17  bool is_forward_down = false;
18  bool is_backward_down = false;
19  bool is_up_down = false;
20  bool is_down_down = false;
22  float move_speed = 3.0f;
24 
25  FpsController();
26 
27  void look(float delta_rot, float delta_look);
28  void move_left(bool down);
29  void move_right(bool down);
30  void move_forward(bool down);
31  void move_backward(bool down);
32  void move_up(bool down);
33  void move_down(bool down);
34  void on_key(Key key, bool down);
35  void update(float delta);
36  void look_in_direction(const unit3f& v);
37 
38  [[nodiscard]] quatf get_rotation() const;
39 
40  static quatf calc_rotation
41  (const Angle& rotation_angle, const Angle& look_angle);
42  };
43 
44 }
45 
Key
Definition: key.h:26
void look(float delta_rot, float delta_look)
quatf get_rotation() const
void move_down(bool down)
Sensitivity look_sensitivity
Definition: fpscontroller.h:23
static quatf calc_rotation(const Angle &rotation_angle, const Angle &look_angle)
void move_forward(bool down)
void move_right(bool down)
void move_backward(bool down)
void on_key(Key key, bool down)
void move_left(bool down)
void update(float delta)
void look_in_direction(const unit3f &v)
void move_up(bool down)
Definition: quat.h:15
Definition: vec3.h:48