]> git.lizzy.rs Git - dragonblocks3d.git/blobdiff - src/dragonblocks/player.hpp
Added player, refactored mesh code
[dragonblocks3d.git] / src / dragonblocks / player.hpp
diff --git a/src/dragonblocks/player.hpp b/src/dragonblocks/player.hpp
new file mode 100644 (file)
index 0000000..81bd5e6
--- /dev/null
@@ -0,0 +1,38 @@
+#pragma once
+
+#include <vector>
+#include "gl.hpp"
+
+namespace dragonblocks
+{      
+       class Camera;
+       class InputHandler;
+       class Map;
+       
+       class Player
+       {
+               public:
+               static Player *createLocalplayer(Camera *, InputHandler *, Map *);
+
+               glm::vec3 pos;
+               bool pitch_move;
+               double yaw, pitch;
+               double speed;
+               
+               private:
+               static Player *localplayer;
+               
+               static void staticMouseHandler(double, double, double);
+               static void staticKeyHandler(double, std::set<int>);
+
+               Camera *camera;
+               InputHandler *input_handler;
+               Map *map;
+               
+               void mouseHandler(double, double, double);
+               void keyHandler(double, std::set<int>);
+               void loadChunks();
+               
+               Player(Camera *, InputHandler *, Map *);
+       };
+}