ChatPlexSDK-BS 1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
Loading...
Searching...
No Matches
CVXList.hpp
1#pragma once
2
3#include "../../UIIl2cpp.hpp"
4#include "../../Data/IListCell.hpp"
5#include "../../Data/IListItem.hpp"
6#include "../../Data/ListCellPrefabs.hpp"
7
8#include <UnityEngine/MonoBehaviour.hpp>
9#include <UnityEngine/RectTransform.hpp>
10#include <UnityEngine/UI/ContentSizeFitter.hpp>
11#include <UnityEngine/UI/LayoutElement.hpp>
12
13#include <string>
14
15namespace CP_SDK::UI::Components {
16
17 namespace _u
18 {
19 using namespace UnityEngine;
20 using namespace UnityEngine::UI;
21 }
22 namespace _v
23 {
24 using namespace CP_SDK::Utils;
25 }
26
28 class CVXList : public _u::MonoBehaviour
29 {
30 CP_SDK_IL2CPP_INHERIT("CP_SDK.UI.Components", CVXList, _u::MonoBehaviour);
31 CP_SDK_IL2CPP_DECLARE_CTOR(CVXList);
32 CP_SDK_IL2CPP_DECLARE_DTOR_MONOBEHAVIOUR(CVXList);
33
34 protected:
36
38
39 _v::Action<float, bool> m_ScrollTo;
40
41 _v::Action<Data::IListCell*> m_SetListCellPrefab;
44
48
49 _v::Action<Data::IListCell*> m_OnListCellClicked;
50
51 public:
54 _v::Delegate<float()> ScrollPosition;
55
56 public:
61
62 public:
64 const Data::IListItem::Ptr& GetSelectedItem();
65
66 public:
70 CVXList* ScrollTo(float p_TargetPosition, bool p_Animated);
71
72 public:
78 CVXList* SetListItems(const std::vector<Data::IListItem::Ptr>& p_ListItems);
82 CVXList* SetSelectedListItem(const Data::IListItem::Ptr& p_ListItem, bool p_Notify = true);
83
84 public:
87 CVXList* AddListItem(const Data::IListItem::Ptr& p_ListItem);
93 CVXList* RemoveListItem(const Data::IListItem::Ptr& p_ListItem);
94
95 public:
99
100 };
101
102}
103
104CP_SDK_IL2CPP_INHERIT_HELPERS(CP_SDK::UI::Components::CVXList);
Generic virtual list interface.
Definition CVXList.hpp:29
CVXList * SortListItems(_v::CFuncRef< int, const Data::IListItem::Ptr &, const Data::IListItem::Ptr & > p_Functor)
Sort list items by a functor.
CVXList * SetListCellPrefab(Data::IListCell *p_Prefab)
Set list cell prefab.
const Data::IListItem::Ptr & GetSelectedItem()
Get selected item.
CVXList * AddListItem(const Data::IListItem::Ptr &p_ListItem)
Add a list item.
CVXList * SetListItems(const std::vector< Data::IListItem::Ptr > &p_ListItems)
Set list items.
CVXList * SetSelectedListItem(const Data::IListItem::Ptr &p_ListItem, bool p_Notify=true)
Set selected list item.
CVXList * RemoveListItem(const Data::IListItem::Ptr &p_ListItem)
Remove a list item.
CVXList * OnListItemSelected(_v::CActionRef< const Data::IListItem::Ptr & > p_Functor, bool p_Add=true)
On list item selected event.
void OnListCellClicked(Data::IListCell *p_ListCell)
On list cell clicked.
CVXList * ScrollTo(float p_TargetPosition, bool p_Animated)
Scroll to position.
Abstract List Cell component.
Definition IListCell.hpp:38
Generic UI components.
Various platform utils like Delegate/Action/Function/Event system.
Definition Delegate.hpp:8