ChatPlexSDK-BS 1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
Loading...
Searching...
No Matches
DefaultCFLayout.hpp
1#pragma once
2
3#include "../Components/CFLayout.hpp"
4#include "../../Utils/Event.hpp"
5
7
8 namespace _u
9 {
10 using namespace UnityEngine;
11 using namespace UnityEngine::UI;
12 }
13 namespace _v
14 {
15 using namespace CP_SDK::Utils;
16 }
17
20 {
21 CP_SDK_IL2CPP_INHERIT("CP_SDK.UI.DefaultComponents", DefaultCFLayout, Components::CFLayout);
22 CP_SDK_IL2CPP_DECLARE_CTOR_CHILD(DefaultCFLayout);
23 CP_SDK_IL2CPP_DECLARE_DTOR_MONOBEHAVIOUR_CHILD(DefaultCFLayout);
24
25 private:
28 EAxis m_StartAxis;
29 bool m_ChildForceExpandWidth;
30 bool m_ChildForceExpandHeight;
31 bool m_ExpandHorizontalSpacing;
32 float m_SpacingX;
33 float m_SpacingY;
34 bool m_InvertOrder;
35 float m_LayoutWidth;
36 float m_LayoutHeight;
37 std::vector<_v::MonoPtr<_u::RectTransform>> m_ItemList;
38
39 template<typename t_Type>
40 void SetPropertyCustom(t_Type& p_Current, t_Type& p_New)
41 {
42 if (p_Current == p_New) return;
43 p_Current = p_New;
44 SetDirty();
45 }
46
47 private:
48 bool IsCenterAlign();
49 bool IsRightAlign();
50 bool IsMiddleAlign();
51 bool IsLowerAlign();
52
53 public:
56
59
60 public:
62 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, LayoutGroup, void, CalculateLayoutInputHorizontal);
63 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, ILayoutElement, void, CalculateLayoutInputHorizontal);
65 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, LayoutGroup, void, CalculateLayoutInputVertical);
66 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, ILayoutElement, void, CalculateLayoutInputVertical);
67
68 public:
70 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, LayoutGroup, void, SetLayoutHorizontal);
71 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, ILayoutController, void, SetLayoutHorizontal);
73 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, LayoutGroup, void, SetLayoutVertical);
74 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, ILayoutController, void, SetLayoutVertical);
75
76 private:
78 float GetGreatestMinimumChildWidth();
80 float GetGreatestMinimumChildHeigth();
81
82 public:
86 float SetLayout(int p_Axis, bool p_LayoutInput);
87
88 private:
93 float CalculateRowVerticalOffset(float p_GroupHeight, float p_YOffset, float p_CurrentRowHeight);
98 float CalculateColHorizontalOffset(float p_GroupWidth, float p_XOffset, float p_CurrentColWidth);
99
100 private:
108 void LayoutRow(float p_RowWidth, float p_RowHeight, float p_MaxWidth, float p_XOffset, float p_YOffset, int p_Axis);
116 void LayoutCol(float p_ColWidth, float p_ColHeight, float p_MaxHeight, float p_XOffset, float p_YOffset, int p_Axis);
117
118 };
119
120}
121
122CP_SDK_IL2CPP_INHERIT_HELPERS(CP_SDK::UI::DefaultComponents::DefaultCFLayout);
CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, LayoutGroup, void, CalculateLayoutInputHorizontal)
Calculate the layout input for horizontal axis.
float SetLayout(int p_Axis, bool p_LayoutInput)
Main layout method.
CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, LayoutGroup, void, SetLayoutHorizontal)
Set layout horizontal.
void Init_DefaultCFLayout()
On component creation.
CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, LayoutGroup, void, SetLayoutVertical)
Set layout vertical.
CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, LayoutGroup, void, CalculateLayoutInputVertical)
Calculate the layout input for vertical axis.
Event class helper.
Definition Event.hpp:100
Default generic components implementation.
Various platform utils like Delegate/Action/Function/Event system.
Definition Delegate.hpp:8