mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 19:13:36 +00:00
144 lines
5.4 KiB
C++
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);
|
|
};
|