mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 12:33:35 +00:00
93 lines
3.5 KiB
C++
93 lines
3.5 KiB
C++
#pragma once
|
|
|
|
#include "UIScene_AbstractContainerMenu.h"
|
|
#include "IUIScene_CreativeMenu.h"
|
|
|
|
class UIScene_CreativeMenu : public UIScene_AbstractContainerMenu,
|
|
public IUIScene_CreativeMenu {
|
|
public:
|
|
UIScene_CreativeMenu(int iPad, void* initData, UILayer* parentLayer);
|
|
|
|
virtual EUIScene getSceneType() { return eUIScene_CreativeMenu; }
|
|
|
|
protected:
|
|
UIControl_SlotList m_slotListContainer;
|
|
IggyName m_funcSetActiveTab, m_funcSetScrollBar;
|
|
|
|
enum ETouchInput {
|
|
ETouchInput_TouchPanel_0,
|
|
ETouchInput_TouchPanel_1,
|
|
ETouchInput_TouchPanel_2,
|
|
ETouchInput_TouchPanel_3,
|
|
ETouchInput_TouchPanel_4,
|
|
ETouchInput_TouchPanel_5,
|
|
ETouchInput_TouchPanel_6,
|
|
ETouchInput_TouchPanel_7,
|
|
ETouchInput_TouchSlider,
|
|
|
|
ETouchInput_Count,
|
|
};
|
|
|
|
#ifdef __PSVITA__
|
|
// 4J - TomK - this only needs to be a touch component on vita!
|
|
UIControl_Touch m_TouchInput[ETouchInput_Count];
|
|
#else
|
|
UIControl_Base m_TouchInput[ETouchInput_Count];
|
|
#endif
|
|
|
|
UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene_AbstractContainerMenu)
|
|
UI_BEGIN_MAP_CHILD_ELEMENTS(m_controlMainPanel)
|
|
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchPanel_0], "TouchPanel_0")
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchPanel_1], "TouchPanel_1")
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchPanel_2], "TouchPanel_2")
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchPanel_3], "TouchPanel_3")
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchPanel_4], "TouchPanel_4")
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchPanel_5], "TouchPanel_5")
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchPanel_6], "TouchPanel_6")
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchPanel_7], "TouchPanel_7")
|
|
UI_MAP_ELEMENT(m_TouchInput[ETouchInput_TouchSlider], "TouchPanel_Slider")
|
|
|
|
UI_MAP_ELEMENT(m_slotListContainer, "containerList")
|
|
UI_END_MAP_CHILD_ELEMENTS()
|
|
|
|
UI_MAP_NAME(m_funcSetActiveTab, L"SetActiveTab")
|
|
UI_MAP_NAME(m_funcSetScrollBar, L"SetScrollBar")
|
|
UI_END_MAP_ELEMENTS_AND_NAMES()
|
|
|
|
virtual std::wstring getMoviePath();
|
|
virtual void handleReload();
|
|
|
|
virtual int getSectionColumns(ESceneSection eSection);
|
|
virtual int getSectionRows(ESceneSection eSection);
|
|
virtual void GetPositionOfSection(ESceneSection eSection,
|
|
UIVec2D* pPosition);
|
|
virtual void GetItemScreenData(ESceneSection eSection, int iItemIndex,
|
|
UIVec2D* pPosition, UIVec2D* pSize);
|
|
virtual void handleSectionClick(ESceneSection eSection) {}
|
|
virtual void setSectionSelectedSlot(ESceneSection eSection, int x, int y);
|
|
|
|
virtual UIControl* getSection(ESceneSection eSection);
|
|
|
|
virtual void handleOtherClicked(int iPad, ESceneSection eSection,
|
|
int buttonNum, bool quickKey);
|
|
|
|
public:
|
|
// INPUT
|
|
virtual void handleInput(int iPad, int key, bool repeat, bool pressed,
|
|
bool released, bool& handled);
|
|
|
|
#ifdef __PSVITA__
|
|
virtual void handleTouchInput(unsigned int iPad, S32 x, S32 y, int iId,
|
|
bool bPressed, bool bRepeat, bool bReleased);
|
|
virtual UIControl* GetMainPanel();
|
|
virtual void handleTouchBoxRebuild();
|
|
virtual void handleTimerComplete(int id);
|
|
#endif
|
|
|
|
private:
|
|
// IUIScene_CreativeMenu
|
|
void updateTabHighlightAndText(ECreativeInventoryTabs tab);
|
|
void updateScrollCurrentPage(int currentPage, int pageCount);
|
|
bool m_bFirstCall;
|
|
}; |