12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #ifndef GAME_H
- #define GAME_H
- #include "client/gui/StartGUI.h"
- #include "client/input/Controller.h"
- #include "client/rendering/Renderer.h"
- #include "client/rendering/ShaderMatrix.h"
- #include "common/block/BlockRegistry.h"
- #include "common/world/World.h"
- #include "rendering/renderer/WorldRenderer.h"
- class Game final {
- const Controller& controller;
- typedef void (Game::*TickState)();
- TickState tickState;
- typedef void (Game::*RenderState)(float, ShaderMatrix&, Renderer&);
- RenderState renderState;
- BaseGUI baseGUI;
- StartGUI startGUI;
- Vector3 lastPos;
- Vector3 pos;
- Quaternion lastRotation;
- Quaternion rotation;
- WorldRenderer worldRenderer;
- public:
- static Game* game;
- static BlockRegistry blockRegistry;
- static World world;
- Game(const Controller& controller);
- void tick();
- void renderWorld(float lag, ShaderMatrix& sm);
- void renderOverlay(float lag, ShaderMatrix& sm, Renderer& r);
- bool isRunning() const;
- private:
- void tickConnectState();
- void tickConnectedState();
- void renderConnectState(float lag, ShaderMatrix& sm, Renderer& r);
- void renderConnectedState(float lag, ShaderMatrix& sm, Renderer& r);
- };
- #endif
|