diff options
Diffstat (limited to 'src/Entities/Player.hpp')
| -rw-r--r-- | src/Entities/Player.hpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/Entities/Player.hpp b/src/Entities/Player.hpp index 3ae10ff..95e3d64 100644 --- a/src/Entities/Player.hpp +++ b/src/Entities/Player.hpp @@ -1,6 +1,5 @@ #pragma once -#include "../Common/FlexArray.hpp" #include "../Time.hpp" #include "../Transform.hpp" #include "../GFX/Camera.hpp" @@ -11,7 +10,6 @@ #include "../World/Position.hpp" namespace MC::Entities { - class Player { public: explicit Player(Position::World position) : m_transform(position) {} @@ -25,21 +23,19 @@ public: void rotate_to(Rotation to); AABB bounds() const; -private: - void update_camera_position(GFX::Camera& camera); - static constexpr UInt MaxCollidingTerrain = 34; +private: + static Position::World process_collisions(World::World& world, Position::World from, Position::World to); static std::vector<AABB> terrain_collision_domain(Position::World from, Position::World to, World::World& world); + void update_camera_position(GFX::Camera& camera); + // Creates a bounding box where `position` is at the center of the bottom face. static AABB bounding_box_for_position(Position::World position); // Returns position of the center of the bottom face of `box`. static Position::World position_for_bounding_box(AABB box); - static Position::World collision_reposition(Position::World from, Position::World to, AABB colliding); - Transform m_transform; - static inline AABB s_bounds{{0.35, 1.8, 0.35}}; }; |
