game_state.h 839 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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;