the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 217 lines 10 kB view raw
1#pragma once 2 3#include "../media/xuiscene_howtoplay.h" 4#include "XUI_CustomMessages.h" 5 6enum EHowToPlayTextControls 7{ 8 eHowToPlay_TextNone = -1, 9 eHowToPlay_TextWhatsNew = 0, 10 eHowToPlay_TextBasics, 11 eHowToPlay_TextMultiplayer, 12 eHowToPlay_TextHUD, 13 eHowToPlay_TextCreative, 14 eHowToPlay_TextInventory, 15 eHowToPlay_TextSmallChest, 16 eHowToPlay_TextLargeChest, 17 eHowToPlay_TextEnderchest, 18 eHowToPlay_TextCrafting, 19 eHowToPlay_TextCraftTable, 20 eHowToPlay_TextFurnace, 21 eHowToPlay_TextDispenser, 22 eHowToPlay_TextBrewing, 23 eHowToPlay_TextEnchantment, 24 eHowToPlay_TextAnvil, 25 eHowToPlay_TextFarmingAnimals, 26 eHowToPlay_TextBreeding, 27 eHowToPlay_TextTrading, 28 eHowToPlay_TextNetherPortal, 29 eHowToPlay_TextTheEnd, 30 eHowToPlay_TextSocialMedia, 31 eHowToPlay_TextBanList, 32 eHowToPlay_TextHostOptions, 33 eHowToPlay_NumTexts 34}; 35 36enum EHowToPlayImageControls 37{ 38 eHowToPlay_ImageNone = -1, 39 eHowToPlay_ImageHUD = 0, 40 eHowToPlay_ImageCreative, 41 eHowToPlay_ImageInventory, 42 eHowToPlay_ImageChest, 43 eHowToPlay_ImageLargeChest, 44 eHowToPlay_ImageEnderChest, 45 eHowToPlay_ImageInventoryCrafting, 46 eHowToPlay_ImageCraftingTable, 47 eHowToPlay_ImageFurnace, 48 eHowToPlay_ImageDispenser, 49 eHowToPlay_ImageBrewing, 50 eHowToPlay_ImageEnchantment, 51 eHowToPlay_ImageAnvil, 52 eHowToPlay_ImageFarmingAnimals, 53 eHowToPlay_ImageBreeding, 54 eHowToPlay_ImageTrading, 55 eHowToPlay_ImageNetherPortal, 56 eHowToPlay_ImageTheEnd, 57 eHowToPlay_NumImages 58}; 59 60enum EHowToPlayLabelControls 61{ 62 eHowToPlay_LabelNone = -1, 63 eHowToPlay_LabelIInventory =0, 64 eHowToPlay_LabelSCInventory , 65 eHowToPlay_LabelSCChest , 66 eHowToPlay_LabelLCInventory , 67 eHowToPlay_LabelLCChest , 68 eHowToPlay_LabelCItem , 69 eHowToPlay_LabelCGroup , 70 eHowToPlay_LabelCInventory2x2 , 71 eHowToPlay_LabelCTItem , 72 eHowToPlay_LabelCTGroup , 73 eHowToPlay_LabelCTInventory3x3 , 74 eHowToPlay_LabelFFuel , 75 eHowToPlay_LabelFInventory , 76 eHowToPlay_LabelFIngredient , 77 eHowToPlay_LabelFChest , 78 eHowToPlay_LabelDText , 79 eHowToPlay_LabelDInventory , 80 eHowToPlay_LabelCreativeInventory, 81 eHowToPlay_LabelEEnchant, 82 eHowToPlay_LabelEInventory, 83 eHowToPlay_LabelBBrew, 84 eHowToPlay_LabelBInventory, 85 eHowToPlay_LabelAnvil_Inventory, 86 eHowToPlay_LabelAnvil_Cost, 87 eHowToPlay_LabelAnvil_ARepairAndName, 88 eHowToPlay_LabelTrading_Inventory, 89 eHowToPlay_LabelTrading_Offer2, 90 eHowToPlay_LabelTrading_Offer1, 91 eHowToPlay_LabelTrading_NeededForTrade, 92 eHowToPlay_LabelTrading_VillagerOffers, 93 eHowToPlay_NumLabels 94}; 95 96struct SHowToPlayPageDef 97{ 98 int m_iTextControlIndex; // eHowToPlay_TextNone if not used. 99 int m_iTextStringID; // -1 if not used. 100 int m_iImageControlIndex; // eHowToPlay_ImageNone if not used. 101 int m_iLabelStartIndex; // index of the labels if there are any for the page 102 int m_iLabelCount; 103}; 104 105class CScene_HowToPlay : public CXuiSceneImpl 106{ 107protected: 108 int m_iPad; 109 D3DXVECTOR3 m_OriginalPosition; 110 EHowToPlayPage m_eCurrPage; 111 112 // Control and Element wrapper objects. 113 CXuiHtmlElement m_aTextControls[ eHowToPlay_NumTexts ]; 114 CXuiControl m_aImageControls[ eHowToPlay_NumImages ]; 115 CXuiControl m_aLabelControls[ eHowToPlay_NumLabels ]; 116 117 // Message map. Here we tie messages to message handlers. 118 XUI_BEGIN_MSG_MAP() 119 XUI_ON_XM_INIT( OnInit ) 120 XUI_ON_XM_KEYDOWN(OnKeyDown) 121 XUI_ON_XM_SPLITSCREENPLAYER_MESSAGE(OnCustomMessage_Splitscreenplayer) 122 XUI_END_MSG_MAP() 123 124 // Control mapping to objects 125 BEGIN_CONTROL_MAP() 126 MAP_CONTROL(IDC_XuiHtmlControlMultiplayer, m_aTextControls[ eHowToPlay_TextMultiplayer ] ) 127 MAP_CONTROL(IDC_XuiHtmlControlBasics, m_aTextControls[ eHowToPlay_TextBasics ] ) 128 MAP_CONTROL(IDC_XuiHtmlControlHUD, m_aTextControls[ eHowToPlay_TextHUD ] ) 129 MAP_CONTROL(IDC_XuiHtmlControlCreative, m_aTextControls[ eHowToPlay_TextCreative ] ) 130 MAP_CONTROL(IDC_XuiHtmlControlInventory, m_aTextControls[ eHowToPlay_TextInventory ] ) 131 MAP_CONTROL(IDC_XuiHtmlControlChest, m_aTextControls[ eHowToPlay_TextSmallChest ] ) 132 MAP_CONTROL(IDC_XuiHtmlControlLargeChest, m_aTextControls[ eHowToPlay_TextLargeChest ] ) 133 MAP_CONTROL(IDC_XuiHtmlControlEnderchest, m_aTextControls[ eHowToPlay_TextEnderchest ] ) 134 MAP_CONTROL(IDC_XuiHtmlControlCrafting, m_aTextControls[ eHowToPlay_TextCrafting ] ) 135 MAP_CONTROL(IDC_XuiHtmlControlCraftingTable, m_aTextControls[ eHowToPlay_TextCraftTable ] ) 136 MAP_CONTROL(IDC_XuiHtmlControlFurnace, m_aTextControls[ eHowToPlay_TextFurnace ] ) 137 MAP_CONTROL(IDC_XuiHtmlControlDispenser, m_aTextControls[ eHowToPlay_TextDispenser ] ) 138 MAP_CONTROL(IDC_XuiHtmlControlBrewing, m_aTextControls[ eHowToPlay_TextBrewing ] ) 139 MAP_CONTROL(IDC_XuiHtmlControlEnchantment, m_aTextControls[ eHowToPlay_TextEnchantment ] ) 140 MAP_CONTROL(IDC_XuiHtmlControlAnvil, m_aTextControls[ eHowToPlay_TextAnvil ] ) 141 MAP_CONTROL(IDC_XuiHtmlControlFarmingAnimals, m_aTextControls[ eHowToPlay_TextFarmingAnimals ] ) 142 MAP_CONTROL(IDC_XuiHtmlControlBreeding, m_aTextControls[ eHowToPlay_TextBreeding ] ) 143 MAP_CONTROL(IDC_XuiHtmlControlTrading, m_aTextControls[ eHowToPlay_TextTrading ] ) 144 MAP_CONTROL(IDC_XuiHtmlControlNetherPortal, m_aTextControls[ eHowToPlay_TextNetherPortal ] ) 145 MAP_CONTROL(IDC_XuiHtmlControlTheEnd, m_aTextControls[ eHowToPlay_TextTheEnd ] ) 146 MAP_CONTROL(IDC_XuiHtmlControlSocialMedia, m_aTextControls[ eHowToPlay_TextSocialMedia ] ) 147 MAP_CONTROL(IDC_XuiHtmlControlBanList, m_aTextControls[ eHowToPlay_TextBanList ] ) 148 MAP_CONTROL(IDC_XuiHtmlControlWhatsNew, m_aTextControls[ eHowToPlay_TextWhatsNew ] ) 149 MAP_CONTROL(IDC_XuiHtmlControlHostOptions, m_aTextControls[ eHowToPlay_TextHostOptions] ) 150 151 MAP_CONTROL(IDC_XuiImageHUD, m_aImageControls[ eHowToPlay_ImageHUD ] ) 152 MAP_CONTROL(IDC_XuiImageCreative, m_aImageControls[ eHowToPlay_ImageCreative ] ) 153 MAP_CONTROL(IDC_XuiImageInventory, m_aImageControls[ eHowToPlay_ImageInventory ] ) 154 MAP_CONTROL(IDC_XuiImageChest, m_aImageControls[ eHowToPlay_ImageChest ] ) 155 MAP_CONTROL(IDC_XuiImageLargeChest, m_aImageControls[ eHowToPlay_ImageLargeChest ] ) 156 MAP_CONTROL(IDC_XuiImageEnderchest, m_aImageControls[ eHowToPlay_ImageEnderChest ] ) 157 MAP_CONTROL(IDC_XuiImageCrafting, m_aImageControls[ eHowToPlay_ImageInventoryCrafting ] ) 158 MAP_CONTROL(IDC_XuiImageCraftingTable, m_aImageControls[ eHowToPlay_ImageCraftingTable ] ) 159 MAP_CONTROL(IDC_XuiImageFurnace, m_aImageControls[ eHowToPlay_ImageFurnace ] ) 160 MAP_CONTROL(IDC_XuiImageDispenser, m_aImageControls[ eHowToPlay_ImageDispenser ] ) 161 MAP_CONTROL(IDC_XuiImageBrewing, m_aImageControls[ eHowToPlay_ImageBrewing ] ) 162 MAP_CONTROL(IDC_XuiImageEnchantment, m_aImageControls[ eHowToPlay_ImageEnchantment ] ) 163 MAP_CONTROL(IDC_XuiImageAnvil, m_aImageControls[ eHowToPlay_ImageAnvil ] ) 164 MAP_CONTROL(IDC_XuiImageBreeding, m_aImageControls[ eHowToPlay_ImageBreeding ] ) 165 MAP_CONTROL(IDC_XuiImageFarmingAnimals, m_aImageControls[ eHowToPlay_ImageFarmingAnimals ] ) 166 MAP_CONTROL(IDC_XuiImageTrading, m_aImageControls[ eHowToPlay_ImageTrading ] ) 167 MAP_CONTROL(IDC_XuiImageNetherPortal, m_aImageControls[ eHowToPlay_ImageNetherPortal ] ) 168 MAP_CONTROL(IDC_XuiImageTheEnd, m_aImageControls[ eHowToPlay_ImageTheEnd ] ) 169 170 MAP_CONTROL(IDC_CTItem, m_aLabelControls[ eHowToPlay_LabelCTItem ] ) 171 MAP_CONTROL(IDC_CTGroup, m_aLabelControls[ eHowToPlay_LabelCTGroup ] ) 172 MAP_CONTROL(IDC_CTInventory3x3, m_aLabelControls[ eHowToPlay_LabelCTInventory3x3 ] ) 173 MAP_CONTROL(IDC_CItem, m_aLabelControls[ eHowToPlay_LabelCItem ] ) 174 MAP_CONTROL(IDC_CGroup, m_aLabelControls[ eHowToPlay_LabelCGroup ] ) 175 MAP_CONTROL(IDC_CInventory, m_aLabelControls[ eHowToPlay_LabelCInventory2x2 ] ) 176 MAP_CONTROL(IDC_FFuel, m_aLabelControls[ eHowToPlay_LabelFFuel ] ) 177 MAP_CONTROL(IDC_FInventory, m_aLabelControls[ eHowToPlay_LabelFInventory ] ) 178 MAP_CONTROL(IDC_FIngredient, m_aLabelControls[ eHowToPlay_LabelFIngredient ] ) 179 MAP_CONTROL(IDC_FChest, m_aLabelControls[ eHowToPlay_LabelFChest ] ) 180 MAP_CONTROL(IDC_LCInventory, m_aLabelControls[ eHowToPlay_LabelLCInventory ] ) 181 MAP_CONTROL(IDC_CIGroup, m_aLabelControls[ eHowToPlay_LabelCreativeInventory ] ) 182 MAP_CONTROL(IDC_LCChest, m_aLabelControls[ eHowToPlay_LabelLCChest ] ) 183 MAP_CONTROL(IDC_SCInventory, m_aLabelControls[ eHowToPlay_LabelSCInventory ] ) 184 MAP_CONTROL(IDC_SCChest, m_aLabelControls[ eHowToPlay_LabelSCChest ] ) 185 MAP_CONTROL(IDC_IInventory, m_aLabelControls[ eHowToPlay_LabelIInventory ] ) 186 MAP_CONTROL(IDC_DInventory, m_aLabelControls[ eHowToPlay_LabelDInventory ] ) 187 MAP_CONTROL(IDC_DText, m_aLabelControls[ eHowToPlay_LabelDText ] ) 188 MAP_CONTROL(IDC_EEnchant, m_aLabelControls[ eHowToPlay_LabelEEnchant ] ) 189 MAP_CONTROL(IDC_EInventory, m_aLabelControls[ eHowToPlay_LabelEInventory ] ) 190 MAP_CONTROL(IDC_BBrew, m_aLabelControls[ eHowToPlay_LabelBBrew ] ) 191 MAP_CONTROL(IDC_BInventory, m_aLabelControls[ eHowToPlay_LabelBInventory ] ) 192 MAP_CONTROL(IDC_AInventory, m_aLabelControls[ eHowToPlay_LabelAnvil_Inventory ] ) 193 MAP_CONTROL(IDC_ACost, m_aLabelControls[ eHowToPlay_LabelAnvil_Cost ] ) 194 MAP_CONTROL(IDC_ARepairAndName, m_aLabelControls[ eHowToPlay_LabelAnvil_ARepairAndName ] ) 195 MAP_CONTROL(IDC_TInventory, m_aLabelControls[ eHowToPlay_LabelTrading_Inventory ] ) 196 //MAP_CONTROL(IDC_TOffer2Label, m_aLabelControls[ eHowToPlay_LabelTrading_Offer2 ] ) 197 MAP_CONTROL(IDC_TOffer1Label, m_aLabelControls[ eHowToPlay_LabelTrading_Offer1 ] ) 198 MAP_CONTROL(IDC_TNeededForTrade, m_aLabelControls[ eHowToPlay_LabelTrading_NeededForTrade ] ) 199 MAP_CONTROL(IDC_TVillagerOffers, m_aLabelControls[ eHowToPlay_LabelTrading_VillagerOffers ] ) 200 201 202 END_CONTROL_MAP() 203 204 HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled ); 205 HRESULT OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled); 206 HRESULT OnCustomMessage_Splitscreenplayer(bool bJoining, BOOL& bHandled); 207 208 void StartPage( EHowToPlayPage ePage ); 209public: 210 211 // Define the class. The class name must match the ClassOverride property 212 // set for the scene in the UI Authoring tool. 213 XUI_IMPLEMENT_CLASS( CScene_HowToPlay, L"CScene_HowToPlay", XUI_CLASS_SCENE ) 214 215 216 217};