diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Common/UI/UIScene_ControlsMenu.h | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.Client/Common/UI/UIScene_ControlsMenu.h')
| -rw-r--r-- | Minecraft.Client/Common/UI/UIScene_ControlsMenu.h | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene_ControlsMenu.h b/Minecraft.Client/Common/UI/UIScene_ControlsMenu.h new file mode 100644 index 00000000..538207fe --- /dev/null +++ b/Minecraft.Client/Common/UI/UIScene_ControlsMenu.h @@ -0,0 +1,141 @@ +#pragma once + +#include "UIScene.h" + +class UIScene_ControlsMenu : public UIScene +{ +private: + enum EControl + { + // Buttons must be first three controls here + eControl_Button0, + eControl_Button1, + eControl_Button2, + eControl_InvertLook, + eControl_Southpaw, + }; + + enum EPadButtons + { + e_PadBack=0, + e_PadLT, + e_PadLB, + e_PadDPadLeft, + e_PadDPadRight, + e_PadDPadUp, + e_PadDPadDown, + e_PadLS_1, + e_PadLS_2, + e_PadStart, + e_PadRT, + e_PadRB, + e_PadY, + e_PadB, + e_PadA, + e_PadX, + e_PadRS_1, + e_PadRS_2, + e_PadTouch, + + e_PadCOUNT, + }; + + int m_iSchemeTextA[3]; + int m_iCurrentNavigatedControlsLayout; + bool m_bCreativeMode; + bool m_bLayoutChanged; + + UIControl_Label m_labelCurrentLayout; + UIControl_Label m_labelVersion; + UIControl_Label m_labelsPad[e_PadCOUNT]; + UIControl m_controlLines[e_PadCOUNT]; + UIControl_Button m_buttonLayouts[3]; + UIControl_CheckBox m_checkboxInvert, m_checkboxSouthpaw; + IggyName m_funcSetPlatform, m_funcSetControllerLayout; + UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) + +#ifndef __PSVITA__ +#ifdef __ORBIS__ + if (!InputManager.UsingRemoteVita()) +#endif + { + UI_MAP_ELEMENT( m_labelCurrentLayout, "CurrentLayout") + + UI_MAP_ELEMENT( m_buttonLayouts[0], "Button1") + UI_MAP_ELEMENT( m_buttonLayouts[1], "Button2") + UI_MAP_ELEMENT( m_buttonLayouts[2], "Button3") + } +#endif + + UI_MAP_ELEMENT( m_labelsPad[e_PadBack], "LabelBack") + UI_MAP_ELEMENT( m_labelsPad[e_PadLT], "LabelLT") + UI_MAP_ELEMENT( m_labelsPad[e_PadLB], "LabelLB") + UI_MAP_ELEMENT( m_labelsPad[e_PadDPadLeft], "LabelDPadLeft") + UI_MAP_ELEMENT( m_labelsPad[e_PadDPadRight], "LabelDPadRight") + UI_MAP_ELEMENT( m_labelsPad[e_PadDPadUp], "LabelDPadUp") + UI_MAP_ELEMENT( m_labelsPad[e_PadDPadDown], "LabelDPadDown") + UI_MAP_ELEMENT( m_labelsPad[e_PadLS_1], "LabelLS_1") + UI_MAP_ELEMENT( m_labelsPad[e_PadLS_2], "LabelLS_2") + UI_MAP_ELEMENT( m_labelsPad[e_PadStart], "LabelStart") + UI_MAP_ELEMENT( m_labelsPad[e_PadRT], "LabelRT") + UI_MAP_ELEMENT( m_labelsPad[e_PadRB], "LabelRB") + UI_MAP_ELEMENT( m_labelsPad[e_PadY], "LabelY") + UI_MAP_ELEMENT( m_labelsPad[e_PadB], "LabelB") + UI_MAP_ELEMENT( m_labelsPad[e_PadA], "LabelA") + UI_MAP_ELEMENT( m_labelsPad[e_PadX], "LabelX") + UI_MAP_ELEMENT( m_labelsPad[e_PadRS_1], "LabelRS_1") + UI_MAP_ELEMENT( m_labelsPad[e_PadRS_2], "LabelRS_2") + UI_MAP_ELEMENT( m_labelsPad[e_PadTouch], "LabelTouch") + + UI_MAP_ELEMENT( m_controlLines[e_PadBack], "LineBack") + UI_MAP_ELEMENT( m_controlLines[e_PadLT], "LineLT") + UI_MAP_ELEMENT( m_controlLines[e_PadLB], "LineLB") + UI_MAP_ELEMENT( m_controlLines[e_PadDPadLeft], "LineDpadLeft") + UI_MAP_ELEMENT( m_controlLines[e_PadDPadRight], "LineDpadRight") + UI_MAP_ELEMENT( m_controlLines[e_PadDPadUp], "LineDpadUp") + UI_MAP_ELEMENT( m_controlLines[e_PadDPadDown], "LineDpadDown") + UI_MAP_ELEMENT( m_controlLines[e_PadLS_1], "LineL3") + UI_MAP_ELEMENT( m_controlLines[e_PadLS_2], "LineLeftStick") + UI_MAP_ELEMENT( m_controlLines[e_PadStart], "LineStart") + UI_MAP_ELEMENT( m_controlLines[e_PadRT], "LineRT") + UI_MAP_ELEMENT( m_controlLines[e_PadRB], "LineRB") + UI_MAP_ELEMENT( m_controlLines[e_PadY], "LineY") + UI_MAP_ELEMENT( m_controlLines[e_PadB], "LineB") + UI_MAP_ELEMENT( m_controlLines[e_PadA], "LineA") + UI_MAP_ELEMENT( m_controlLines[e_PadX], "LineX") + UI_MAP_ELEMENT( m_controlLines[e_PadRS_1], "LineR3") + UI_MAP_ELEMENT( m_controlLines[e_PadRS_2], "LineRightStick") + UI_MAP_ELEMENT( m_controlLines[e_PadTouch], "LineTouch") + + UI_MAP_ELEMENT( m_checkboxInvert, "InvertLook") + UI_MAP_ELEMENT( m_checkboxSouthpaw, "SouthPaw") + + UI_MAP_NAME( m_funcSetPlatform, L"SetPlatform") + UI_MAP_NAME( m_funcSetControllerLayout, L"SetControllerLayout") + UI_MAP_ELEMENT( m_labelVersion, "Version") + UI_END_MAP_ELEMENTS_AND_NAMES() +public: + UIScene_ControlsMenu(int iPad, void *initData, UILayer *parentLayer); + + virtual EUIScene getSceneType() { return eUIScene_ControlsMenu;} + + virtual void updateTooltips(); + virtual void tick(); + +protected: + // TODO: This should be pure virtual in this class + virtual wstring getMoviePath(); + +public: + // INPUT + virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); + + virtual void handleCheckboxToggled(F64 controlId, bool selected); + virtual void handlePress(F64 controlId, F64 childId); + virtual void handleFocusChange(F64 controlId, F64 childId); + +private: + void PositionText(int iPad,int iTextID, unsigned char ucAction); + void PositionTextDirect(int iPad,int iTextID, int iControlDetailsIndex, bool bShow); + void PositionAllText(int iPad); +};
\ No newline at end of file |
