Game.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef GAME_H
  2. #define GAME_H
  3. #include "LayeredFramebuffer.h"
  4. #include "Texture3D.h"
  5. #include "gaming-core/input/Buttons.h"
  6. #include "gaming-core/math/Frustum.h"
  7. #include "gaming-core/rendering/FileTexture.h"
  8. #include "gaming-core/rendering/Shader.h"
  9. #include "gaming-core/rendering/VertexBuffer.h"
  10. #include "gaming-core/utils/Size.h"
  11. class Game final {
  12. Shader& shader;
  13. Shader& noiceShader;
  14. LayeredFramebuffer& noiceBuffer;
  15. FileTexture bricks;
  16. FileTexture bricksBump;
  17. FileTexture bricksNormal;
  18. Buttons& buttons;
  19. const Size& size;
  20. VertexBuffer rectangleBuffer;
  21. VertexBuffer emptyBuffer;
  22. Frustum frustum;
  23. Button up;
  24. Button down;
  25. Button left;
  26. Button right;
  27. Button front;
  28. Button back;
  29. Button toggle;
  30. Button scaleUp;
  31. Button scaleDown;
  32. Button stepsUp;
  33. Button stepsDown;
  34. Button fineStepsUp;
  35. Button fineStepsDown;
  36. Button modeToggle;
  37. Vector3 oldPosition;
  38. Vector3 position;
  39. float oldHeight;
  40. float height;
  41. float heightScale;
  42. int steps;
  43. int fineSteps;
  44. bool mode;
  45. public:
  46. Game(Shader& shader, Shader& noiceShader, LayeredFramebuffer& buffer,
  47. Buttons& buttons, const Size& size);
  48. void render(float lag);
  49. void tick();
  50. bool isRunning() const;
  51. };
  52. #endif