summary refs log tree commit diff
path: root/src/Entities/Player.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Entities/Player.hpp')
-rw-r--r--src/Entities/Player.hpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/Entities/Player.hpp b/src/Entities/Player.hpp
index c829d1f..83ac091 100644
--- a/src/Entities/Player.hpp
+++ b/src/Entities/Player.hpp
@@ -2,10 +2,10 @@
 
 #include "../Time.hpp"
 #include "../Transform.hpp"
+#include "../GFX/Actions.hpp"
 #include "../GFX/Camera.hpp"
 #include "../World/World.hpp"
 #include "../GFX/Window.hpp"
-#include "../GFX/Shading/Program.hpp"
 #include "../Math/AABB.hpp"
 #include "../Math/Rotation.hpp"
 #include "../World/Position.hpp"
@@ -13,10 +13,13 @@
 namespace MC::Entities {
 class Player {
 public:
-    explicit Player(Position::World position, Real ascept, Real fov, Real near, Real far);
+    explicit Player(Position::World position)
+        : m_transform(position), m_outline_mesh(create_outline_cube_mesh()) {}
+
+    Position::World position() const { return m_transform.position(); }
 
     void update(const Time& time, GFX::Window& window, GFX::Camera& camera, World::World& world);
-    void render(const GFX::Camera& camera);
+    void render(GFX::Actions& actions);
 
     void move(Position::WorldOffset by);
     void move_to(Position::World to);
@@ -83,16 +86,7 @@ private:
     Transform m_transform;
     static inline AABB s_bounds{{0.35, 1.8, 0.35}};
 
-    // TODO: Put this into the rendering system
-    static const Char* outline_vertex;
-    static const Char* outline_fragment;
-
-    GFX::Shading::Program m_outline_program;
     GFX::Mesh m_outline_mesh;
-
-    GFX::Shading::Uniform m_outline_model_uniform;
-    GFX::Shading::Uniform m_outline_view_uniform;
-    GFX::Shading::Uniform m_outline_projection_uniform;
 };
 
 }