#ifndef GAME_H #define GAME_H #include "LayeredFramebuffer.h" #include "Texture3D.h" #include "gaming-core/input/Buttons.h" #include "gaming-core/math/Frustum.h" #include "gaming-core/rendering/FileTexture.h" #include "gaming-core/rendering/Shader.h" #include "gaming-core/rendering/VertexBuffer.h" #include "gaming-core/utils/Size.h" class Game final { Shader& shader; Shader& noiceShader; LayeredFramebuffer& noiceBuffer; FileTexture bricks; FileTexture bricksBump; FileTexture bricksNormal; Buttons& buttons; const Size& size; VertexBuffer rectangleBuffer; VertexBuffer emptyBuffer; Frustum frustum; Button up; Button down; Button left; Button right; Button front; Button back; Button toggle; Button scaleUp; Button scaleDown; Button stepsUp; Button stepsDown; Button fineStepsUp; Button fineStepsDown; Button modeToggle; Vector3 oldPosition; Vector3 position; float oldHeight; float height; float heightScale; int steps; int fineSteps; bool mode; public: Game(Shader& shader, Shader& noiceShader, LayeredFramebuffer& buffer, Buttons& buttons, const Size& size); void render(float lag); void tick(); bool isRunning() const; }; #endif