Client.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef CLIENT_H
  2. #define CLIENT_H
  3. #include "../engine/Wrapper.h"
  4. #include "../engine/KeyManager.h"
  5. #include "../engine/MouseManager.h"
  6. #include "../engine/Clock.h"
  7. #include "../engine/Shader.h"
  8. #include "../engine/DirectRenderer.h"
  9. #include "../math/Camera3D.h"
  10. #include "../world/World.h"
  11. #include "../world/IChunkProvider.h"
  12. #include "rendering/ClientChunkProvider.h"
  13. #include "rendering/ChunkRenderer.h"
  14. #include "rendering/entity/EntityRenderer.h"
  15. using namespace std;
  16. class Client : public IClient
  17. {
  18. public:
  19. Client();
  20. virtual ~Client();
  21. void tick() override;
  22. void render3DTick(float lag) override;
  23. void render2DTick(float lag) override;
  24. void onKeyEvent(int key, int scancode, int action, int mods) override;
  25. void onMouseMove(double x, double y) override;
  26. void onMouseClick(int button, int action, int mods) override;
  27. private:
  28. double transformMouse(double in);
  29. static const int KEY_LEFT = 0;
  30. static const int KEY_RIGHT = 1;
  31. static const int KEY_UP = 2;
  32. static const int KEY_DOWN = 3;
  33. static const int KEY_JUMP = 4;
  34. static const int KEY_SNEAK = 5;
  35. static const int KEY_TEST = 10;
  36. static const int MOUSE_LEFT = 0;
  37. double oldMouseX = 0;
  38. double oldMouseY = 0;
  39. double diffMouseX = 0;
  40. double diffMouseY = 0;
  41. bool mouseTrapped = true;
  42. const double MOUSE_BORDER = 1.0;
  43. Clock tps;
  44. Clock fps;
  45. KeyManager keyManager;
  46. MouseManager mouseManager;
  47. ChunkRenderer chunkRenderer;
  48. ClientChunkProvider chunkProvider;
  49. World world;
  50. Camera3D camera;
  51. Shader shader;
  52. DirectRenderer directRenderer;
  53. Vector3D position;
  54. float lengthAngle = 0;
  55. float widthAngle = 0;
  56. EntityRenderer entity;
  57. };
  58. #endif