diff options
| author | Mel <einebeere@gmail.com> | 2024-01-25 11:25:29 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-01-25 11:25:29 +0100 |
| commit | 66e436d0f2cf3c33105d8a5bce43bf64d5e72255 (patch) | |
| tree | 3ee36001907453336cf96a57d8ec0154a9ae3135 /src/Entities/Player.hpp | |
| parent | efd17623627607a26f33dac8f7ef1a1ddc931907 (diff) | |
| download | meowcraft-66e436d0f2cf3c33105d8a5bce43bf64d5e72255.tar.zst meowcraft-66e436d0f2cf3c33105d8a5bce43bf64d5e72255.zip | |
Mostly functioning world collisions
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}}; }; |
