Working on portrait mode

This commit is contained in:
Vladislav Khorev committed 2026-06-25 17:30:58 +03:00
1 parent 6b39cfca3b
commit 0b4df8ab2d
13 files changed
+1558 -28

No files matched your search

+22
View File
@@ -93,6 +93,9 @@ namespace ZL {
void onCutsceneFinished();
bool cutsceneHudActive_ = false;
// Called by Game when the window is resized and orientation has changed.
void onOrientationChanged();
void saveSettings();
void loadSettings();
@@ -190,8 +193,20 @@ namespace ZL {
std::shared_ptr<UiNode> phoneVideoRoot;
std::shared_ptr<UiNode> phoneMapDormRoot;
std::shared_ptr<UiNode> phoneMapUniRoot;
// Portrait-mode (vertical) equivalents for screens that have a portrait layout
std::shared_ptr<UiNode> verticalPhoneMainRoot;
std::shared_ptr<UiNode> verticalPhoneMainHintARoot;
std::shared_ptr<UiNode> verticalPhoneMainHintBRoot;
std::shared_ptr<UiNode> verticalPhoneMainHintABRoot;
std::shared_ptr<UiNode> verticalPhoneBankRoot;
std::shared_ptr<UiNode> verticalPhoneVideoRoot;
std::shared_ptr<UiNode> verticalPhoneMapDormRoot;
std::shared_ptr<UiNode> verticalPhoneMapUniRoot;
std::shared_ptr<UiNode> phoneChatListRoot;
std::shared_ptr<UiNode> phoneChatListHintRoot;
std::shared_ptr<UiNode> verticalPhoneChatListRoot;
std::shared_ptr<UiNode> verticalPhoneChatListHintRoot;
std::shared_ptr<UiNode> phoneChat1Root;
std::shared_ptr<UiNode> phoneChat2Root;
std::shared_ptr<UiNode> phoneChat3Root;
@@ -216,6 +231,13 @@ namespace ZL {
void applyCurrentHealthBar();
bool isPortraitMode() const;
// Tracks which phone sub-screen is currently shown so onOrientationChanged()
// can reopen the correct screen after swapping roots.
enum class PhoneSubScreen { None, Main, Bank, Video, MapDorm, MapUni, ChatList, Chat };
PhoneSubScreen currentPhoneSubScreen_ = PhoneSubScreen::None;
// Phone chat UI state (transient — rebuilt from gameState_.chatHistory on open)
struct PhoneChatBubbleInfo {
std::string nodeName;