#pragma once #include "UIScene.h" class UIScene_HowToPlay : public UIScene { public: enum EHowToPlayLabelControls { eHowToPlay_LabelNone = -1, eHowToPlay_LabelIInventory = 0, eHowToPlay_LabelSCInventory, eHowToPlay_LabelSCChest, eHowToPlay_LabelLCInventory, eHowToPlay_LabelLCChest, eHowToPlay_LabelCItem, eHowToPlay_LabelCGroup, eHowToPlay_LabelCInventory2x2, eHowToPlay_LabelCTItem, eHowToPlay_LabelCTGroup, eHowToPlay_LabelCTInventory3x3, eHowToPlay_LabelFFuel, eHowToPlay_LabelFInventory, eHowToPlay_LabelFIngredient, eHowToPlay_LabelFChest, eHowToPlay_LabelDText, eHowToPlay_LabelDInventory, eHowToPlay_LabelCreativeInventory, eHowToPlay_LabelEEnchant, eHowToPlay_LabelEInventory, eHowToPlay_LabelBBrew, eHowToPlay_LabelBInventory, eHowToPlay_LabelAnvil_Inventory, eHowToPlay_LabelAnvil_Cost, eHowToPlay_LabelAnvil_ARepairAndName, eHowToPlay_LabelTrading_Inventory, eHowToPlay_LabelTrading_Offer2, eHowToPlay_LabelTrading_Offer1, eHowToPlay_LabelTrading_NeededForTrade, eHowToPlay_LabelTrading_VillagerOffers, eHowToPlay_LabelBeacon_PrimaryPower, eHowToPlay_LabelBeacon_SecondaryPower, eHowToPlay_LabelFireworksText, eHowToPlay_LabelFireworksInventory, eHowToPlay_LabelHopperText, eHowToPlay_LabelHopperInventory, eHowToPlay_LabelDropperText, eHowToPlay_LabelDropperInventory, eHowToPlay_NumLabels }; struct SHowToPlayPageDef { int m_iTextStringID; // -1 if not used. int m_iLabelStartIndex; // index of the labels if there are any for the // page int m_iLabelCount; }; private: EHowToPlayPage m_eCurrPage; IggyName m_funcLoadPage; UIControl_DynamicLabel m_DynamicLabel; UIControl_Label m_labels[eHowToPlay_NumLabels]; UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) UI_MAP_ELEMENT(m_DynamicLabel, "DynamicHtmlText") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelCTGroup], "Label1_9") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelCTItem], "Label2_9") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelCTInventory3x3], "Label3_9") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelCGroup], "Label1_8") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelCItem], "Label2_8") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelCInventory2x2], "Label3_8") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelFChest], "Label1_10") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelFIngredient], "Label2_10") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelFFuel], "Label3_10") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelFInventory], "Label4_10") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelLCChest], "Label1_7") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelLCInventory], "Label2_7") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelCreativeInventory], "Label1_4") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelSCChest], "Label1_6") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelSCInventory], "Label2_6") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelIInventory], "Label1_5") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelDText], "Label1_11") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelDInventory], "Label2_11") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelEEnchant], "Label1_13") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelEInventory], "Label2_13") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelBBrew], "Label1_12") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelBInventory], "Label2_12") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelTrading_VillagerOffers], "Label1_22") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelTrading_NeededForTrade], "Label2_22") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelTrading_Inventory], "Label3_22") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelTrading_Offer1], "Label4_22") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelTrading_Offer2], "Label5_22") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelAnvil_ARepairAndName], "Label1_21") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelAnvil_Cost], "Label2_21") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelAnvil_Inventory], "Label3_21") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelBeacon_PrimaryPower], "Label1_25") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelBeacon_SecondaryPower], "Label2_25") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelFireworksText], "Label1_26") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelFireworksInventory], "Label2_26") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelHopperText], "Label1_27") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelHopperInventory], "Label2_27") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelDropperText], "Label1_28") UI_MAP_ELEMENT(m_labels[eHowToPlay_LabelDropperInventory], "Label2_28") UI_MAP_NAME(m_funcLoadPage, L"LoadHowToPlayPage") UI_END_MAP_ELEMENTS_AND_NAMES() public: UIScene_HowToPlay(int iPad, void* initData, UILayer* parentLayer); virtual EUIScene getSceneType() { return eUIScene_HowToPlay; } virtual void updateTooltips(); protected: // TODO: This should be pure virtual in this class virtual std::wstring getMoviePath(); public: virtual void handleReload(); // INPUT virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool& handled); private: void StartPage(EHowToPlayPage ePage); };