game_state.h 838 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include <furi.h>
  3. #include <gui/canvas.h>
  4. #include <gui/gui.h>
  5. #include "src/util/buffer.h"
  6. #include "src/util/list.h"
  7. #include "src/util/card.h"
  8. #include <notification/notification.h>
  9. typedef struct {
  10. Card* card;
  11. Vector position;
  12. Vector velocity;
  13. } AnimatedCard;
  14. typedef struct {
  15. Canvas* canvas;
  16. Gui* gui;
  17. FuriPubSub* input;
  18. FuriPubSubSubscription* input_subscription;
  19. bool exit;
  20. bool isDirty;
  21. bool clearBuffer;
  22. bool lateRender;
  23. uint8_t scene_switch;
  24. Buffer* buffer;
  25. NotificationApp* notification_app;
  26. uint8_t selected[2];
  27. uint8_t selected_card;
  28. List* deck;
  29. List* waste;
  30. List* hand;
  31. List* foundation[4];
  32. List* tableau[7];
  33. AnimatedCard animated_card;
  34. double delta_time;
  35. size_t game_start;
  36. size_t game_end;
  37. } GameState;