4jcraft/Minecraft.Client/Platform/Common/UI/UIScene_HowToPlay.h

144 lines
5.4 KiB
C++

#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);
};