Game.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef GAME_H
  2. #define GAME_H
  3. #include "client/input/Control.h"
  4. #include "client/math/Camera.h"
  5. #include "client/utils/Clock.h"
  6. #include "client/rendering/RenderSettings.h"
  7. #include "client/rendering/Renderer.h"
  8. #include "client/rendering/Mesh.h"
  9. #include "client/rendering/FileTexture.h"
  10. #include "client/rendering/FontRenderer.h"
  11. #include "common/world/World.h"
  12. #include "common/block/BlockRegistry.h"
  13. #include "rendering/renderer/WorldRenderer.h"
  14. class Game final {
  15. public:
  16. Game(const Control& control, const Camera& camera, Ray& ray, const Clock& fps, const Clock& tps,
  17. RenderSettings& renderSettings);
  18. void tick();
  19. void renderWorld(float lag, Renderer& renderer) const;
  20. void renderTextOverlay(float lag, Renderer& renderer, FontRenderer& fr) const;
  21. bool isRunning() const;
  22. private:
  23. const Control& control;
  24. const Camera& camera;
  25. Ray& ray;
  26. const Clock& fps;
  27. const Clock& tps;
  28. RenderSettings& renderSettings;
  29. float lengthAngle;
  30. float widthAngle;
  31. Vector pos;
  32. BlockRegistry blockRegistry;
  33. World world;
  34. WorldRenderer worldRenderer;
  35. };
  36. #endif