GigaPasjans
Loading...
Searching...
No Matches
GameplayScreen.h
1// Plik utworzony przez Piotra ChudziƄskiego w dniu 17.04.2025
2#pragma once
3#include <chrono>
4#include <game/Card/CardRenderer.h>
5#include <game/Card/Deck.h>
6#include <game/Screens/Screen.h>
7
8namespace Game
9{
14 class GameplayScreen : public IScreen
15 {
16 private:
21 Deck m_Deck;
22
27 CardRenderer m_CardRenderer;
28
33 std::chrono::time_point<std::chrono::steady_clock> m_GameStartTimePoint;
34
39 static void gameplayThread();
40
45 void applySessionSettings();
46
47 public:
48 GameplayScreen();
49 ~GameplayScreen();
50
51 void Clear();
52 void New();
53 void ContinueCreatingNew();
54 void Load(std::istream &is);
55 int32 GetRandomSeedFromList();
56
58 void Repose() override;
59
61 void Build(Andromenda::Surface &surface) override;
62
64 void Draw() override;
65
67 void OnSurfaceCallback(const String &id) override {};
68 };
69} // namespace Game
The renderer of component registry.
Definition Surface.h:28
Handles the visual representation of cards and stacks.
Definition CardRenderer.h:18
Represents a deck of cards, including all stacks.
Definition Deck.h:78
void OnSurfaceCallback(const String &id) override
Event called when any component sends callback.
Definition GameplayScreen.h:67
void Draw() override
Event called when screen is getting rerendered and this screen is currently rendered screen.
Definition GameplayScreen.cpp:246
void Build(Andromenda::Surface &surface) override
Event called when this screen is being opened.
Definition GameplayScreen.cpp:235
void Repose() override
Event called when this screen is being closed.
Definition GameplayScreen.cpp:244
Represents object that registers components .
Definition Screen.h:57
Represents a mutable sequence of characters, providing various member functions for string manipulati...
Definition String.h:16