Working on loading

This commit is contained in:
Vladislav Khorev committed 2026-10-23 23:49:54 +06:00
1 parent d38a75ea72
commit 9b71ee447a
11 files changed
+268 -55

No files matched your search

+13 -1
View File
@@ -33,6 +33,8 @@ namespace FRG {
UiManager uiManager;
UiManager topUiManager;
UiManager chatUiManager;
// Draws the campaign loading screen while Game builds a campaign.
UiManager loadingUiManager;
std::unordered_map<std::string,
std::unordered_map<Language, std::string>> localizedLocationName;
@@ -66,6 +68,14 @@ namespace FRG {
// Shows the HUD for the current location with its callbacks wired and visibility
// applied. Game calls it once a new game's state has been reset.
void showGameplayHud();
// Called by Game once a save has been applied.
void enterGameplay(bool isFromLoad = false);
// Campaign loading screen (layout from CampaignConfig::loadingScreenPath, preloaded
// with the UI). Game shows it before building a campaign and hides it when done.
void showLoadingScreen(const std::string& layoutPath);
void hideLoadingScreen();
bool isLoadingScreenShown() const { return loadingScreenShown_; }
void setChatUnread(int chatIndex, bool unread, const std::string& previewMsg = "");
@@ -166,7 +176,6 @@ namespace FRG {
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;
// Single place that decides which HUD buttons and tutorial hints are visible:
@@ -299,6 +308,9 @@ namespace FRG {
std::shared_ptr<UiNode> languageScreenRoot;
std::shared_ptr<UiNode> loadSavedGameScreenRoot;
std::shared_ptr<UiNode> campaignScreenRoot;
// Loading screen layouts by path; campaigns may share one.
std::unordered_map<std::string, std::shared_ptr<UiNode>> loadingScreenRoots_;
bool loadingScreenShown_ = false;
std::shared_ptr<UiNode> saveGameScreenRoot;