Game.h 1.1 KB

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