the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "UIScene.h"
4
5class UIScene_InGameSaveManagementMenu : public UIScene
6{
7private:
8 enum EControls
9 {
10 eControl_SavesList,
11#if defined(_XBOX_ONE) || defined(__ORBIS__)
12 eControl_SpaceIndicator,
13#endif
14 };
15
16 enum EState
17 {
18 e_SavesIdle,
19 e_SavesRepopulate,
20 e_SavesRepopulateAfterDelete
21 };
22
23 static const int JOIN_LOAD_CREATE_BUTTON_INDEX = 0;
24
25 SaveListDetails *m_saveDetails;
26 int m_iSaveDetailsCount;
27
28protected:
29 UIControl_SaveList m_buttonListSaves;
30 UIControl_Label m_labelSavesListTitle;
31 UIControl m_controlSavesTimer;
32#if defined(_XBOX_ONE) || defined(__ORBIS__)
33 UIControl_SpaceIndicatorBar m_spaceIndicatorSaves;
34#endif
35
36private:
37 UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
38 UI_MAP_ELEMENT( m_buttonListSaves, "SavesList")
39
40 UI_MAP_ELEMENT( m_labelSavesListTitle, "SavesListTitle")
41
42 UI_MAP_ELEMENT( m_controlSavesTimer, "SavesTimer")
43
44#if defined(_XBOX_ONE) || defined(__ORBIS__)
45 UI_MAP_ELEMENT( m_spaceIndicatorSaves, "SaveSizeBar")
46#endif
47 UI_END_MAP_ELEMENTS_AND_NAMES()
48
49 int m_iState;
50
51 vector<File *> *m_saves;
52
53 bool m_bIgnoreInput;
54 bool m_bAllLoaded;
55 bool m_bRetrievingSaveThumbnails;
56 bool m_bSaveThumbnailReady;
57 int m_iRequestingThumbnailId;
58 SAVE_DETAILS *m_pSaveDetails;
59 bool m_bSavesDisplayed;
60 bool m_bExitScene;
61 int m_iSaveInfoC;
62 int m_iSaveListIndex;
63 //int *m_iConfigA; // track the texture packs that we don't have installed
64
65 bool m_bUpdateSaveSize;
66
67public:
68 UIScene_InGameSaveManagementMenu(int iPad, void *initData, UILayer *parentLayer);
69 virtual ~UIScene_InGameSaveManagementMenu();
70
71 virtual void updateTooltips();
72
73 virtual void handleReload();
74 virtual void handleGainFocus(bool navBack);
75 // INPUT
76 virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled);
77 virtual void handleFocusChange(F64 controlId, F64 childId);
78 virtual void handleInitFocus(F64 controlId, F64 childId);
79
80 virtual EUIScene getSceneType() { return eUIScene_LoadOrJoinMenu;}
81
82 // Returns true if lower scenes in this scenes layer, or in any layer below this scenes layers should be hidden
83 virtual bool hidesLowerScenes() { return true; }
84
85 virtual bool hasFocus(int iPad);
86
87 virtual void tick();
88
89private:
90 void Initialise();
91 void GetSaveInfo();
92
93protected:
94 // TODO: This should be pure virtual in this class
95 virtual wstring getMoviePath();
96
97public:
98
99 static int LoadSaveDataThumbnailReturned(LPVOID lpParam,PBYTE pbThumbnail,DWORD dwThumbnailBytes);
100 static int DeleteSaveDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result);
101 static int DeleteSaveDataReturned(LPVOID lpParam,bool bRes);
102protected:
103 void handlePress(F64 controlId, F64 childId);
104};