the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 128 lines 4.6 kB view raw
1#pragma once 2 3#include "../media/xuiscene_main.h" 4#include "XUI_CustomMessages.h" 5 6#define BUTTON_PLAYGAME 0 7#define BUTTON_LEADERBOARDS 1 8#define BUTTON_ACHIEVEMENTS 2 9#define BUTTON_HELPANDOPTIONS 3 10#define BUTTON_UNLOCKFULLGAME 4 11#define BUTTON_EXITGAME 5 12#define BUTTONS_MAX BUTTON_EXITGAME + 1 13 14#define MAIN_MENU_MAX_TEXT_SCALE 1.5f 15 16class Random; 17 18class CScene_Main : public CXuiSceneImpl 19{ 20private: 21 static Random *random; 22 vector<wstring> m_splashes; 23 D3DXVECTOR3 m_vPosExitGame; 24 bool m_bIgnorePress; 25 float m_fSubtitleHeight, m_fSubtitleWidth; 26 CXuiControl m_Timer; 27 28 // 4J Added 29 enum eSplashIndexes 30 { 31 eSplashHappyBirthdayEx = 0, 32 eSplashHappyBirthdayNotch, 33 eSplashMerryXmas, 34 eSplashHappyNewYear, 35 36 // The start index in the splashes vector from which we can select a random splash 37 eSplashRandomStart, 38 }; 39 40 enum eActions 41 { 42 eAction_None=0, 43 eAction_RunGame, 44 eAction_RunLeaderboards, 45 eAction_RunAchievements, 46 eAction_RunHelpAndOptions, 47 eAction_RunUnlockOrDLC, 48 }; 49 50protected: 51 // Control and Element wrapper objects. 52 CXuiScene m_Scene; 53 CXuiControl m_Buttons[BUTTONS_MAX]; 54 CXuiControl m_Subtitle, m_SubtitleMCFont; 55 // Message map. Here we tie messages to message handlers. 56 XUI_BEGIN_MSG_MAP() 57 XUI_ON_XM_INIT( OnInit ) 58 XUI_ON_XM_NOTIFY_PRESS_EX(OnNotifyPressEx) 59 XUI_ON_XM_NAV_RETURN(OnNavReturn) 60 XUI_ON_XM_TRANSITION_START(OnTransitionStart) 61 XUI_ON_XM_CONTROL_NAVIGATE( OnControlNavigate ) 62 XUI_ON_XM_KEYDOWN( OnKeyDown ) 63 XUI_ON_XM_NOTIFY_SET_FOCUS(OnNotifySetFocus) 64 XUI_ON_XM_TMS_BANFILE_RETRIEVED_MESSAGE(OnTMSBanFileRetrieved) 65 XUI_ON_XM_TMS_DLCFILE_RETRIEVED_MESSAGE(OnTMSDLCFileRetrieved) 66 XUI_ON_XM_TIMER( OnTimer ) 67 68 XUI_END_MSG_MAP() 69 70 // Control mapping to objects 71 BEGIN_CONTROL_MAP() 72 MAP_CONTROL(IDC_XuiButton1, m_Buttons[BUTTON_PLAYGAME]) 73 MAP_CONTROL(IDC_XuiButton2, m_Buttons[BUTTON_LEADERBOARDS ]) 74 MAP_CONTROL(IDC_XuiButton3, m_Buttons[BUTTON_ACHIEVEMENTS ]) 75 MAP_CONTROL(IDC_XuiButton4, m_Buttons[BUTTON_HELPANDOPTIONS]) 76 MAP_CONTROL(IDC_XuiButton5, m_Buttons[BUTTON_UNLOCKFULLGAME]) 77 MAP_CONTROL(IDC_XuiButton6, m_Buttons[BUTTON_EXITGAME]) 78 MAP_CONTROL(IDC_XuiSplash, m_Subtitle) 79 MAP_CONTROL(IDC_XuiSplashMCFont, m_SubtitleMCFont) 80 MAP_CONTROL(IDC_Timer, m_Timer) 81 END_CONTROL_MAP() 82 83 HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled ); 84 HRESULT OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData,BOOL& rfHandled); 85 HRESULT OnNavReturn(HXUIOBJ hObj,BOOL& rfHandled); 86 HRESULT OnTransitionStart( XUIMessageTransition *pTransition, BOOL& bHandled ); 87 HRESULT OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled); 88 HRESULT OnKeyDown(XUIMessageInput *pInputData, BOOL& bHandled); 89 HRESULT OnNotifySetFocus(HXUIOBJ hObjSource, XUINotifyFocus *pNotifyFocusData, BOOL& bHandled); 90 HRESULT OnTMSBanFileRetrieved(); 91 HRESULT OnTMSDLCFileRetrieved( ); 92 HRESULT OnTimer( XUIMessageTimer *pTimer, BOOL& bHandled ); 93 94 int SetSaveDevice(); 95 static void LoadTrial(); 96 97 void RunPlayGame(int iPad); 98 void RunLeaderboards(int iPad); 99 void RunAchievements(int iPad); 100 void RunHelpAndOptions(int iPad); 101 void RunUnlockOrDLC(int iPad); 102 103 eActions m_eAction; 104 105public: 106 107 // Define the class. The class name must match the ClassOverride property 108 // set for the scene in the UI Authoring tool. 109 XUI_IMPLEMENT_CLASS( CScene_Main, L"CScene_Main", XUI_CLASS_SCENE ) 110 111 static int SignInReturned(void *pParam,bool bContinue); 112 static int CreateLoad_SignInReturned(void *pParam,bool bContinue, int iPad); 113 static int CreateLoad_OfflineProfileReturned(void *pParam,bool bContinue, int iPad); 114 static int DeviceSelectReturned(void *pParam,bool bContinue); 115 static int SaveGameReturned(void *pParam,bool bContinue); 116 static int HelpAndOptions_SignInReturned(void *pParam,bool bContinue,int iPad); 117 static int ExitGameReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 118 static int AchievementsDeviceSelectReturned(void *pParam,bool bContinue); 119 static int Achievements_SignInReturned(void *pParam,bool bContinue,int iPad); 120 static int Leaderboards_SignInReturned(void* pParam, bool bContinue, int iPad); 121 static int UnlockFullGame_SignInReturned(void *pParam,bool bContinue,int iPad); 122 static int MustSignInReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 123#ifdef _XBOX 124 static int TMSReadFileListReturned(void *pParam,int iPad,C4JStorage::PTMSPP_FILE_LIST pTmsFileList); 125 static int TMSFileWriteReturned(void *pParam,int iPad,int iResult); 126 static int TMSFileReadReturned(void *pParam,int iPad,C4JStorage::PTMSPP_FILEDATA pData); 127#endif 128};