class FPSController {
public:
- explicit FPSController(Entity &);
+ explicit FPSController(Entity &) noexcept;
- Ray Aim() const { return entity.Aim(entity.ChunkCoords()); }
+ Ray Aim() const noexcept { return entity.Aim(entity.ChunkCoords()); }
- const glm::vec3 &Velocity() const { return velocity; }
- void Velocity(const glm::vec3 &vel) { velocity = vel; }
+ const glm::vec3 &Velocity() const noexcept { return velocity; }
+ void Velocity(const glm::vec3 &vel) noexcept { velocity = vel; }
// all angles in radians (full circle = 2π)
- float Pitch() const { return pitch; }
- void Pitch(float p);
- void RotatePitch(float delta);
- float Yaw() const { return yaw; }
- void Yaw(float y);
- void RotateYaw(float delta);
+ float Pitch() const noexcept { return pitch; }
+ void Pitch(float p) noexcept;
+ void RotatePitch(float delta) noexcept;
+ float Yaw() const noexcept { return yaw; }
+ void Yaw(float y) noexcept;
+ void RotateYaw(float delta) noexcept;
- void Update(int dt);
+ void Update(int dt) noexcept;
private:
Entity &entity;
};
+
+class RandomWalk {
+
+public:
+ explicit RandomWalk(Entity &) noexcept;
+
+ void Update(int dt) noexcept;
+
+private:
+ Entity &entity;
+
+ int time_left;
+
+};
+
}
#endif