218 lines
9.9 KiB
C++
218 lines
9.9 KiB
C++
#pragma once
|
|
|
|
#include "../media/xuiscene_howtoplay.h"
|
|
#include "XUI_CustomMessages.h"
|
|
|
|
enum EHowToPlayTextControls
|
|
{
|
|
eHowToPlay_TextNone = -1,
|
|
eHowToPlay_TextWhatsNew = 0,
|
|
eHowToPlay_TextBasics,
|
|
eHowToPlay_TextMultiplayer,
|
|
eHowToPlay_TextHUD,
|
|
eHowToPlay_TextCreative,
|
|
eHowToPlay_TextInventory,
|
|
eHowToPlay_TextSmallChest,
|
|
eHowToPlay_TextLargeChest,
|
|
eHowToPlay_TextEnderchest,
|
|
eHowToPlay_TextCrafting,
|
|
eHowToPlay_TextCraftTable,
|
|
eHowToPlay_TextFurnace,
|
|
eHowToPlay_TextDispenser,
|
|
eHowToPlay_TextBrewing,
|
|
eHowToPlay_TextEnchantment,
|
|
eHowToPlay_TextAnvil,
|
|
eHowToPlay_TextFarmingAnimals,
|
|
eHowToPlay_TextBreeding,
|
|
eHowToPlay_TextTrading,
|
|
eHowToPlay_TextNetherPortal,
|
|
eHowToPlay_TextTheEnd,
|
|
eHowToPlay_TextSocialMedia,
|
|
eHowToPlay_TextBanList,
|
|
eHowToPlay_TextHostOptions,
|
|
eHowToPlay_NumTexts
|
|
};
|
|
|
|
enum EHowToPlayImageControls
|
|
{
|
|
eHowToPlay_ImageNone = -1,
|
|
eHowToPlay_ImageHUD = 0,
|
|
eHowToPlay_ImageCreative,
|
|
eHowToPlay_ImageInventory,
|
|
eHowToPlay_ImageChest,
|
|
eHowToPlay_ImageLargeChest,
|
|
eHowToPlay_ImageEnderChest,
|
|
eHowToPlay_ImageInventoryCrafting,
|
|
eHowToPlay_ImageCraftingTable,
|
|
eHowToPlay_ImageFurnace,
|
|
eHowToPlay_ImageDispenser,
|
|
eHowToPlay_ImageBrewing,
|
|
eHowToPlay_ImageEnchantment,
|
|
eHowToPlay_ImageAnvil,
|
|
eHowToPlay_ImageFarmingAnimals,
|
|
eHowToPlay_ImageBreeding,
|
|
eHowToPlay_ImageTrading,
|
|
eHowToPlay_ImageNetherPortal,
|
|
eHowToPlay_ImageTheEnd,
|
|
eHowToPlay_NumImages
|
|
};
|
|
|
|
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_NumLabels
|
|
};
|
|
|
|
struct SHowToPlayPageDef
|
|
{
|
|
int m_iTextControlIndex; // eHowToPlay_TextNone if not used.
|
|
int m_iTextStringID; // -1 if not used.
|
|
int m_iImageControlIndex; // eHowToPlay_ImageNone if not used.
|
|
int m_iLabelStartIndex; // index of the labels if there are any for the page
|
|
int m_iLabelCount;
|
|
};
|
|
|
|
class CScene_HowToPlay : public CXuiSceneImpl
|
|
{
|
|
protected:
|
|
int m_iPad;
|
|
D3DXVECTOR3 m_OriginalPosition;
|
|
EHowToPlayPage m_eCurrPage;
|
|
|
|
// Control and Element wrapper objects.
|
|
CXuiHtmlElement m_aTextControls[ eHowToPlay_NumTexts ];
|
|
CXuiControl m_aImageControls[ eHowToPlay_NumImages ];
|
|
CXuiControl m_aLabelControls[ eHowToPlay_NumLabels ];
|
|
|
|
// Message map. Here we tie messages to message handlers.
|
|
XUI_BEGIN_MSG_MAP()
|
|
XUI_ON_XM_INIT( OnInit )
|
|
XUI_ON_XM_KEYDOWN(OnKeyDown)
|
|
XUI_ON_XM_SPLITSCREENPLAYER_MESSAGE(OnCustomMessage_Splitscreenplayer)
|
|
XUI_END_MSG_MAP()
|
|
|
|
// Control mapping to objects
|
|
BEGIN_CONTROL_MAP()
|
|
MAP_CONTROL(IDC_XuiHtmlControlMultiplayer, m_aTextControls[ eHowToPlay_TextMultiplayer ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlBasics, m_aTextControls[ eHowToPlay_TextBasics ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlHUD, m_aTextControls[ eHowToPlay_TextHUD ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlCreative, m_aTextControls[ eHowToPlay_TextCreative ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlInventory, m_aTextControls[ eHowToPlay_TextInventory ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlChest, m_aTextControls[ eHowToPlay_TextSmallChest ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlLargeChest, m_aTextControls[ eHowToPlay_TextLargeChest ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlEnderchest, m_aTextControls[ eHowToPlay_TextEnderchest ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlCrafting, m_aTextControls[ eHowToPlay_TextCrafting ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlCraftingTable, m_aTextControls[ eHowToPlay_TextCraftTable ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlFurnace, m_aTextControls[ eHowToPlay_TextFurnace ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlDispenser, m_aTextControls[ eHowToPlay_TextDispenser ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlBrewing, m_aTextControls[ eHowToPlay_TextBrewing ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlEnchantment, m_aTextControls[ eHowToPlay_TextEnchantment ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlAnvil, m_aTextControls[ eHowToPlay_TextAnvil ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlFarmingAnimals, m_aTextControls[ eHowToPlay_TextFarmingAnimals ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlBreeding, m_aTextControls[ eHowToPlay_TextBreeding ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlTrading, m_aTextControls[ eHowToPlay_TextTrading ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlNetherPortal, m_aTextControls[ eHowToPlay_TextNetherPortal ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlTheEnd, m_aTextControls[ eHowToPlay_TextTheEnd ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlSocialMedia, m_aTextControls[ eHowToPlay_TextSocialMedia ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlBanList, m_aTextControls[ eHowToPlay_TextBanList ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlWhatsNew, m_aTextControls[ eHowToPlay_TextWhatsNew ] )
|
|
MAP_CONTROL(IDC_XuiHtmlControlHostOptions, m_aTextControls[ eHowToPlay_TextHostOptions] )
|
|
|
|
MAP_CONTROL(IDC_XuiImageHUD, m_aImageControls[ eHowToPlay_ImageHUD ] )
|
|
MAP_CONTROL(IDC_XuiImageCreative, m_aImageControls[ eHowToPlay_ImageCreative ] )
|
|
MAP_CONTROL(IDC_XuiImageInventory, m_aImageControls[ eHowToPlay_ImageInventory ] )
|
|
MAP_CONTROL(IDC_XuiImageChest, m_aImageControls[ eHowToPlay_ImageChest ] )
|
|
MAP_CONTROL(IDC_XuiImageLargeChest, m_aImageControls[ eHowToPlay_ImageLargeChest ] )
|
|
MAP_CONTROL(IDC_XuiImageEnderchest, m_aImageControls[ eHowToPlay_ImageEnderChest ] )
|
|
MAP_CONTROL(IDC_XuiImageCrafting, m_aImageControls[ eHowToPlay_ImageInventoryCrafting ] )
|
|
MAP_CONTROL(IDC_XuiImageCraftingTable, m_aImageControls[ eHowToPlay_ImageCraftingTable ] )
|
|
MAP_CONTROL(IDC_XuiImageFurnace, m_aImageControls[ eHowToPlay_ImageFurnace ] )
|
|
MAP_CONTROL(IDC_XuiImageDispenser, m_aImageControls[ eHowToPlay_ImageDispenser ] )
|
|
MAP_CONTROL(IDC_XuiImageBrewing, m_aImageControls[ eHowToPlay_ImageBrewing ] )
|
|
MAP_CONTROL(IDC_XuiImageEnchantment, m_aImageControls[ eHowToPlay_ImageEnchantment ] )
|
|
MAP_CONTROL(IDC_XuiImageAnvil, m_aImageControls[ eHowToPlay_ImageAnvil ] )
|
|
MAP_CONTROL(IDC_XuiImageBreeding, m_aImageControls[ eHowToPlay_ImageBreeding ] )
|
|
MAP_CONTROL(IDC_XuiImageFarmingAnimals, m_aImageControls[ eHowToPlay_ImageFarmingAnimals ] )
|
|
MAP_CONTROL(IDC_XuiImageTrading, m_aImageControls[ eHowToPlay_ImageTrading ] )
|
|
MAP_CONTROL(IDC_XuiImageNetherPortal, m_aImageControls[ eHowToPlay_ImageNetherPortal ] )
|
|
MAP_CONTROL(IDC_XuiImageTheEnd, m_aImageControls[ eHowToPlay_ImageTheEnd ] )
|
|
|
|
MAP_CONTROL(IDC_CTItem, m_aLabelControls[ eHowToPlay_LabelCTItem ] )
|
|
MAP_CONTROL(IDC_CTGroup, m_aLabelControls[ eHowToPlay_LabelCTGroup ] )
|
|
MAP_CONTROL(IDC_CTInventory3x3, m_aLabelControls[ eHowToPlay_LabelCTInventory3x3 ] )
|
|
MAP_CONTROL(IDC_CItem, m_aLabelControls[ eHowToPlay_LabelCItem ] )
|
|
MAP_CONTROL(IDC_CGroup, m_aLabelControls[ eHowToPlay_LabelCGroup ] )
|
|
MAP_CONTROL(IDC_CInventory, m_aLabelControls[ eHowToPlay_LabelCInventory2x2 ] )
|
|
MAP_CONTROL(IDC_FFuel, m_aLabelControls[ eHowToPlay_LabelFFuel ] )
|
|
MAP_CONTROL(IDC_FInventory, m_aLabelControls[ eHowToPlay_LabelFInventory ] )
|
|
MAP_CONTROL(IDC_FIngredient, m_aLabelControls[ eHowToPlay_LabelFIngredient ] )
|
|
MAP_CONTROL(IDC_FChest, m_aLabelControls[ eHowToPlay_LabelFChest ] )
|
|
MAP_CONTROL(IDC_LCInventory, m_aLabelControls[ eHowToPlay_LabelLCInventory ] )
|
|
MAP_CONTROL(IDC_CIGroup, m_aLabelControls[ eHowToPlay_LabelCreativeInventory ] )
|
|
MAP_CONTROL(IDC_LCChest, m_aLabelControls[ eHowToPlay_LabelLCChest ] )
|
|
MAP_CONTROL(IDC_SCInventory, m_aLabelControls[ eHowToPlay_LabelSCInventory ] )
|
|
MAP_CONTROL(IDC_SCChest, m_aLabelControls[ eHowToPlay_LabelSCChest ] )
|
|
MAP_CONTROL(IDC_IInventory, m_aLabelControls[ eHowToPlay_LabelIInventory ] )
|
|
MAP_CONTROL(IDC_DInventory, m_aLabelControls[ eHowToPlay_LabelDInventory ] )
|
|
MAP_CONTROL(IDC_DText, m_aLabelControls[ eHowToPlay_LabelDText ] )
|
|
MAP_CONTROL(IDC_EEnchant, m_aLabelControls[ eHowToPlay_LabelEEnchant ] )
|
|
MAP_CONTROL(IDC_EInventory, m_aLabelControls[ eHowToPlay_LabelEInventory ] )
|
|
MAP_CONTROL(IDC_BBrew, m_aLabelControls[ eHowToPlay_LabelBBrew ] )
|
|
MAP_CONTROL(IDC_BInventory, m_aLabelControls[ eHowToPlay_LabelBInventory ] )
|
|
MAP_CONTROL(IDC_AInventory, m_aLabelControls[ eHowToPlay_LabelAnvil_Inventory ] )
|
|
MAP_CONTROL(IDC_ACost, m_aLabelControls[ eHowToPlay_LabelAnvil_Cost ] )
|
|
MAP_CONTROL(IDC_ARepairAndName, m_aLabelControls[ eHowToPlay_LabelAnvil_ARepairAndName ] )
|
|
MAP_CONTROL(IDC_TInventory, m_aLabelControls[ eHowToPlay_LabelTrading_Inventory ] )
|
|
//MAP_CONTROL(IDC_TOffer2Label, m_aLabelControls[ eHowToPlay_LabelTrading_Offer2 ] )
|
|
MAP_CONTROL(IDC_TOffer1Label, m_aLabelControls[ eHowToPlay_LabelTrading_Offer1 ] )
|
|
MAP_CONTROL(IDC_TNeededForTrade, m_aLabelControls[ eHowToPlay_LabelTrading_NeededForTrade ] )
|
|
MAP_CONTROL(IDC_TVillagerOffers, m_aLabelControls[ eHowToPlay_LabelTrading_VillagerOffers ] )
|
|
|
|
|
|
END_CONTROL_MAP()
|
|
|
|
HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled );
|
|
HRESULT OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled);
|
|
HRESULT OnCustomMessage_Splitscreenplayer(bool bJoining, BOOL& bHandled);
|
|
|
|
void StartPage( EHowToPlayPage ePage );
|
|
public:
|
|
|
|
// Define the class. The class name must match the ClassOverride property
|
|
// set for the scene in the UI Authoring tool.
|
|
XUI_IMPLEMENT_CLASS( CScene_HowToPlay, L"CScene_HowToPlay", XUI_CLASS_SCENE )
|
|
|
|
|
|
|
|
};
|