GameLoop.h 728 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <notification/notification.h>
  3. #include "utils/Input.h"
  4. #include "utils/RenderBuffer.h"
  5. #include "utils/Card.h"
  6. #include "utils/Vector.h"
  7. #include "GameLogic.h"
  8. class GameLoop {
  9. Gui *gui;
  10. Canvas *canvas;
  11. InputEventHandler inputHandler;
  12. FuriMutex *render_mutex;
  13. FuriThread *buffer_thread_ptr;
  14. RenderBuffer *buffer;
  15. bool renderRunning = true;
  16. FuriPubSub *input;
  17. FuriPubSubSubscription *input_subscription;
  18. NotificationApp *notification_app;
  19. bool processing = true;
  20. GameLogic *logic;
  21. static void input_callback(const void *value, void *ctx);
  22. static int32_t render_thread(void *ctx);
  23. public:
  24. GameLoop();
  25. ~GameLoop();
  26. void Start();
  27. };