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
5
6class UIScene_HowToPlay : public UIScene
7{
8public:
9 enum EHowToPlayLabelControls
10 {
11 eHowToPlay_LabelNone = -1,
12 eHowToPlay_LabelIInventory =0,
13 eHowToPlay_LabelSCInventory ,
14 eHowToPlay_LabelSCChest ,
15 eHowToPlay_LabelLCInventory ,
16 eHowToPlay_LabelLCChest ,
17 eHowToPlay_LabelCItem ,
18 eHowToPlay_LabelCGroup ,
19 eHowToPlay_LabelCInventory2x2 ,
20 eHowToPlay_LabelCTItem ,
21 eHowToPlay_LabelCTGroup ,
22 eHowToPlay_LabelCTInventory3x3 ,
23 eHowToPlay_LabelFFuel ,
24 eHowToPlay_LabelFInventory ,
25 eHowToPlay_LabelFIngredient ,
26 eHowToPlay_LabelFChest ,
27 eHowToPlay_LabelDText ,
28 eHowToPlay_LabelDInventory ,
29 eHowToPlay_LabelCreativeInventory,
30 eHowToPlay_LabelEEnchant,
31 eHowToPlay_LabelEInventory,
32 eHowToPlay_LabelBBrew,
33 eHowToPlay_LabelBInventory,
34 eHowToPlay_LabelAnvil_Inventory,
35 eHowToPlay_LabelAnvil_Cost,
36 eHowToPlay_LabelAnvil_ARepairAndName,
37 eHowToPlay_LabelTrading_Inventory,
38 eHowToPlay_LabelTrading_Offer2,
39 eHowToPlay_LabelTrading_Offer1,
40 eHowToPlay_LabelTrading_NeededForTrade,
41 eHowToPlay_LabelTrading_VillagerOffers,
42 eHowToPlay_LabelBeacon_PrimaryPower,
43 eHowToPlay_LabelBeacon_SecondaryPower,
44 eHowToPlay_LabelFireworksText,
45 eHowToPlay_LabelFireworksInventory,
46 eHowToPlay_LabelHopperText,
47 eHowToPlay_LabelHopperInventory,
48 eHowToPlay_LabelDropperText,
49 eHowToPlay_LabelDropperInventory,
50 eHowToPlay_NumLabels
51 };
52
53 struct SHowToPlayPageDef
54 {
55 int m_iTextStringID; // -1 if not used.
56 int m_iLabelStartIndex; // index of the labels if there are any for the page
57 int m_iLabelCount;
58 };
59
60private:
61 EHowToPlayPage m_eCurrPage;
62
63 IggyName m_funcLoadPage;
64 UIControl_DynamicLabel m_DynamicLabel;
65 UIControl_Label m_labels[ eHowToPlay_NumLabels ];
66 UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
67 UI_MAP_ELEMENT( m_DynamicLabel , "DynamicHtmlText" )
68
69 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelCTGroup ] , "Label1_9" )
70 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelCTItem ] , "Label2_9")
71 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelCTInventory3x3 ] , "Label3_9" )
72
73 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelCGroup ] , "Label1_8" )
74 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelCItem ] , "Label2_8" )
75 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelCInventory2x2 ] , "Label3_8" )
76
77 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelFChest ] , "Label1_10" )
78 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelFIngredient ] , "Label2_10" )
79 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelFFuel ] , "Label3_10" )
80 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelFInventory ] , "Label4_10" )
81
82 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelLCChest ] , "Label1_7" )
83 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelLCInventory ] , "Label2_7" )
84
85 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelCreativeInventory ] , "Label1_4" )
86
87 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelSCChest ] , "Label1_6" )
88 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelSCInventory ] , "Label2_6" )
89
90 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelIInventory ] , "Label1_5" )
91
92 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelDText ] , "Label1_11" )
93 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelDInventory ] , "Label2_11" )
94
95 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelEEnchant ] , "Label1_13" )
96 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelEInventory ] , "Label2_13" )
97
98 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelBBrew ] , "Label1_12" )
99 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelBInventory ] , "Label2_12" )
100
101 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelTrading_VillagerOffers ] , "Label1_22" )
102 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelTrading_NeededForTrade ] , "Label2_22" )
103 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelTrading_Inventory ] , "Label3_22" )
104 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelTrading_Offer1 ] , "Label4_22" )
105 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelTrading_Offer2 ] , "Label5_22" )
106
107 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelAnvil_ARepairAndName ] , "Label1_21" )
108 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelAnvil_Cost ] , "Label2_21" )
109 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelAnvil_Inventory ] , "Label3_21" )
110
111 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelBeacon_PrimaryPower ] , "Label1_25" )
112 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelBeacon_SecondaryPower ] , "Label2_25" )
113
114 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelFireworksText ] , "Label1_26" )
115 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelFireworksInventory ] , "Label2_26" )
116
117 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelHopperText ] , "Label1_27" )
118 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelHopperInventory ] , "Label2_27" )
119
120 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelDropperText ] , "Label1_28" )
121 UI_MAP_ELEMENT( m_labels[ eHowToPlay_LabelDropperInventory ] , "Label2_28" )
122
123 UI_MAP_NAME(m_funcLoadPage, L"LoadHowToPlayPage")
124 UI_END_MAP_ELEMENTS_AND_NAMES()
125public:
126 UIScene_HowToPlay(int iPad, void *initData, UILayer *parentLayer);
127
128 virtual EUIScene getSceneType() { return eUIScene_HowToPlay;}
129 virtual void updateTooltips();
130
131protected:
132 // TODO: This should be pure virtual in this class
133 virtual wstring getMoviePath();
134
135public:
136 virtual void handleReload();
137
138 // INPUT
139 virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled);
140
141private:
142 void StartPage( EHowToPlayPage ePage );
143};