working on campaign

This commit is contained in:
Vladislav Khorev committed 2026-10-23 22:47:55 +06:00
1 parent 9fa120d4ad
commit d38a75ea72
24 files changed
+929 -410

No files matched your search

+8 -1
View File
@@ -72,7 +72,8 @@ namespace FRG {
void spendMoney(int amount);
int getMoney() const { return gameState_.money; }
std::function<void()> startGameFunc;
// Starts a new game of the given campaign (see CampaignRegistry).
std::function<void(const std::string& campaignId)> startGameFunc;
std::function<void(const std::string&)> startDialogueFunc;
std::function<void()> startDarklandsTransitionFunc;
std::function<void()> startNightTransitionFunc;
@@ -164,6 +165,7 @@ namespace FRG {
GameState& gameState_;
AudioPlayerAsync& audioPlayer_;
void startNewGame(const std::string& campaignId);
void enterGameplay(bool isFromLoad = false);
// HUD layout for the current location and darklands mode.
std::shared_ptr<UiNode> gameplayHudRoot() const;
@@ -212,6 +214,10 @@ namespace FRG {
void showLanguageScreen();
void showLoadGameScreen();
void showSaveGameScreen();
// Campaign list opened by "Start game".
void showCampaignScreen();
// Text of a load/save slot button.
std::string slotLabel(const SaveSlotInfo& info);
// Toast internals
struct ToastEntry {
@@ -292,6 +298,7 @@ namespace FRG {
std::shared_ptr<UiNode> settingsGraphicsScreenRoot;
std::shared_ptr<UiNode> languageScreenRoot;
std::shared_ptr<UiNode> loadSavedGameScreenRoot;
std::shared_ptr<UiNode> campaignScreenRoot;
std::shared_ptr<UiNode> saveGameScreenRoot;