ChatPlexSDK-BS 1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
Loading...
Searching...
No Matches
IListCell.hpp
1#pragma once
2
3#include "../UIIl2cpp.hpp"
4
5#include <UnityEngine/MonoBehaviour.hpp>
6#include <UnityEngine/RectTransform.hpp>
7#include <UnityEngine/EventSystems/IEventSystemHandler.hpp>
8#include <UnityEngine/EventSystems/IPointerEnterHandler.hpp>
9#include <UnityEngine/EventSystems/IPointerExitHandler.hpp>
10#include <UnityEngine/EventSystems/PointerEventData.hpp>
11#include <UnityEngine/UI/Button.hpp>
12#include <UnityEngine/UI/Image.hpp>
13
14namespace CP_SDK::UI::Components {
15
16 class CVXList;
17
18}
19
21
22 namespace _u
23 {
24 using namespace UnityEngine;
25 using namespace UnityEngine::EventSystems;
26 using namespace UnityEngine::UI;
27 }
28 namespace _v
29 {
30 using namespace CP_SDK::UI::Components;
31 using namespace CP_SDK::Utils;
32 }
33
34 class IListItem;
35
37 class IListCell : public _u::MonoBehaviour
38 {
39 CP_SDK_IL2CPP_INHERIT("CP_SDK.UI.Data", IListCell, _u::MonoBehaviour, CP_SDK_IL2CPP_INTERFACES(
40 _u::IEventSystemHandler,
41 _u::IPointerEnterHandler,
42 _u::IPointerExitHandler
43 ));
44 CP_SDK_IL2CPP_DECLARE_CTOR(IListCell);
45 CP_SDK_IL2CPP_DECLARE_DTOR_MONOBEHAVIOUR(IListCell);
46
47 private:
51 _v::MonoPtr<_v::CVXList> m_OwnerList;
52 int m_Index;
53 std::shared_ptr<IListItem> m_ListItem;
54 bool m_Stateless;
55
56 protected:
57 _v::Action<> m_Build;
58 _v::Func<float> m_GetCellHeight;
60
61 public:
64 int Index() const;
65 const std::shared_ptr<IListItem>& ListItem();
66 std::u16string Tooltip;
67
68 public:
71 IListCell* Create(_u::RectTransform* p_Parent);
76 void Bind(_v::CMonoPtrRef<_v::CVXList> p_OwnerList, int p_Index, const std::shared_ptr<IListItem>& p_ListItem);
77
78 public:
80 void Build();
83 void SetState(bool p_State);
86 void SetStateless(bool p_Stateless);
89 void SetSelectable(bool p_Selectable);
92
93 private:
95 void Button_OnClick();
96
97 public:
100 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, IPointerEnterHandler, void, OnPointerEnter, _u::PointerEventData*);
103 CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, IPointerExitHandler, void, OnPointerExit, _u::PointerEventData*);
104
105 };
106
107}
108
109CP_SDK_IL2CPP_INHERIT_HELPERS(CP_SDK::UI::Data::IListCell);
Abstract List Cell component.
Definition IListCell.hpp:38
void SetStateless(bool p_Stateless)
Set is stateless.
void SetState(bool p_State)
Set list cell state.
float GetCellHeight()
Get cell height.
CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, IPointerExitHandler, void, OnPointerExit, _u::PointerEventData *)
On pointer exit.
void Build()
Build cell.
void Bind(_v::CMonoPtrRef< _v::CVXList > p_OwnerList, int p_Index, const std::shared_ptr< IListItem > &p_ListItem)
Bind to list.
CP_SDK_IL2CPP_OVERRIDE_METHOD_EX(_u, IPointerEnterHandler, void, OnPointerEnter, _u::PointerEventData *)
On pointer enter.
IListCell * Create(_u::RectTransform *p_Parent)
Create cell instance.
void SetSelectable(bool p_Selectable)
Set is selectable.
Abstract List Item.
Definition IListItem.hpp:11
Tooltip widget.
Definition Tooltip.hpp:26
Generic UI components.
< namespace CP_SDK::UI::Components
Definition IListCell.hpp:20
Various platform utils like Delegate/Action/Function/Event system.
Definition Delegate.hpp:8