diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Common/UI/UIScene_PauseMenu.h | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.Client/Common/UI/UIScene_PauseMenu.h')
| -rw-r--r-- | Minecraft.Client/Common/UI/UIScene_PauseMenu.h | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene_PauseMenu.h b/Minecraft.Client/Common/UI/UIScene_PauseMenu.h new file mode 100644 index 00000000..f1bd53aa --- /dev/null +++ b/Minecraft.Client/Common/UI/UIScene_PauseMenu.h @@ -0,0 +1,112 @@ +#pragma once + +#include "UIScene.h" +#include "IUIScene_PauseMenu.h" + +#define BUTTON_PAUSE_RESUMEGAME 0 +#define BUTTON_PAUSE_HELPANDOPTIONS 1 +#define BUTTON_PAUSE_LEADERBOARDS 2 + +#ifdef _XBOX_ONE +#define BUTTON_PAUSE_XBOXHELP 3 +#else +#define BUTTON_PAUSE_ACHIEVEMENTS 3 +#endif + +#define BUTTON_PAUSE_SAVEGAME 4 +#define BUTTON_PAUSE_EXITGAME 5 +#define BUTTONS_PAUSE_MAX BUTTON_PAUSE_EXITGAME + 1 + +class UIScene_PauseMenu : public UIScene, public IUIScene_PauseMenu +{ +private: + bool m_savesDisabled; + bool m_bTrialTexturePack; + bool m_bErrorDialogRunning; + + enum eActions + { + eAction_None=0, +#if defined(__PS3__) || defined(__PSVITA__) || defined(__ORBIS__) + eAction_ViewLeaderboardsPSN, + eAction_ViewInvitesPSN, + eAction_SaveGamePSN, + eAction_BuyTexturePackPSN +#endif + + }; + eActions m_eAction; + + UIControl_Button m_buttons[BUTTONS_PAUSE_MAX]; + UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) + UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_RESUMEGAME], "Button1") + UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_HELPANDOPTIONS], "Button2") + UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_LEADERBOARDS], "Button3") +#ifdef _DURANGO + UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_XBOXHELP], "Button4") +#else + UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_ACHIEVEMENTS], "Button4") +#endif + UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_SAVEGAME], "Button5") + UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_EXITGAME], "Button6") + UI_END_MAP_ELEMENTS_AND_NAMES() + + virtual void HandleDLCMountingComplete(); + virtual void HandleDLCInstalled(); +#ifdef _XBOX_ONE + virtual void HandleDLCLicenseChange(); +#endif + static int UnlockFullSaveReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); + static int SaveGame_SignInReturned(void *pParam,bool bContinue, int iPad); + +public: + UIScene_PauseMenu(int iPad, void *initData, UILayer *parentLayer); + virtual ~UIScene_PauseMenu(); + + virtual EUIScene getSceneType() { return eUIScene_PauseMenu;} + + virtual void tick(); + + virtual void updateTooltips(); + virtual void updateComponents(); + virtual void handlePreReload(); + virtual void handleReload(); + +protected: + void updateControlsVisibility(); + + // TODO: This should be pure virtual in this class + virtual wstring getMoviePath(); + +public: + // INPUT + virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); + +protected: + void handlePress(F64 controlId, F64 childId); + virtual void ShowScene(bool show); + virtual void SetIgnoreInput(bool ignoreInput); + bool m_bIgnoreInput; + +private: + void PerformActionSaveGame(); + +#if defined(__PS3__) || defined(__PSVITA__) || defined(__ORBIS__) + static int MustSignInReturnedPSN(void *pParam,int iPad,C4JStorage::EMessageResult result); + static int ViewLeaderboards_SignInReturned(void *pParam,bool bContinue, int iPad); + static int ViewInvites_SignInReturned(void *pParam,bool bContinue, int iPad); + static int BuyTexturePack_SignInReturned(void *pParam,bool bContinue, int iPad); + static int WarningTrialTexturePackReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); + static int ExitGameSaveDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); +#endif + +protected: +#ifdef _XBOX_ONE + static int BanGameDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); + virtual long long getDefaultGtcButtons() { return _360_GTC_BACK | _360_GTC_PLAY; } +#endif + +#ifdef __ORBIS__ + bool CheckForPatch(); +#endif +}; |
