ChatPlexSDK-BS 1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
All Classes Namespaces Functions Variables Typedefs Enumerations Concepts
DefaultCVVList.hpp
1#pragma once
2
3#include "DefaultCVScrollView.hpp"
4#include "../Components/CVVList.hpp"
5#include "../../Pool/ObjectPool.hpp"
6#include "../../Utils/Event.hpp"
7
9
10 namespace _u
11 {
12 using namespace UnityEngine;
13 using namespace UnityEngine::UI;
14 }
15 namespace _v
16 {
17 using namespace CP_SDK::Utils;
18 }
19
22 {
23 CP_SDK_IL2CPP_INHERIT("CP_SDK.UI.DefaultComponents", DefaultCVVList, Components::CVVList);
24 CP_SDK_IL2CPP_DECLARE_CTOR_CHILD(DefaultCVVList);
25 CP_SDK_IL2CPP_DECLARE_DTOR_MONOBEHAVIOUR_CHILD(DefaultCVVList);
26
28
29 private:
32
33 _v::MonoPtr<Data::IListCell> m_ListCellTemplate;
34 t_CellMemoryPool::Ptr m_ListCellPool;
35 std::vector<_v::MonoPtr<Data::IListCell>> m_VisibleListCells;
36 std::vector<Data::IListItem::Ptr> m_ListItems;
37 Data::IListItem::Ptr m_SelectedListItem;
38 bool m_Dirty;
39
40 _v::Event<const Data::IListItem::Ptr&> m_OnListItemSelectedEvent;
41
42 public:
45
48
49 public:
54
55 public:
57 const Data::IListItem::Ptr& GetSelectedItem_Impl();
58
59 public:
63 void ScrollTo_Impl(float p_TargetPosition, bool p_Animated);
64
65 public:
71 void SetListItems_Impl(const std::vector<Data::IListItem::Ptr>& p_ListItems);
75 void SetSelectedListItem_Impl(const Data::IListItem::Ptr& p_ListItem, bool p_Notify = true);
76
77 public:
80 void AddListItem_Impl(const Data::IListItem::Ptr& p_ListItem);
86 void RemoveListItem_Impl(const Data::IListItem::Ptr& p_ListItem);
87
88 public:
92
93 private:
95 DECLARE_INSTANCE_METHOD(void, Update);
96
97 private:
100 void ClearVisibles(bool p_ScrollToTop);
102 float GetListCellPerPage();
104 void UpdateForCurrentScroll();
105
106 private:
108 DECLARE_INSTANCE_METHOD(void, OnRectTransformDimensionsChange);
109
110 };
111
112}
113
114CP_SDK_IL2CPP_INHERIT_HELPERS(CP_SDK::UI::DefaultComponents::DefaultCVVList);
Vector based object pool.
Virtual Vertical List.
Definition CVVList.hpp:19
Abstract List Cell component.
Definition IListCell.hpp:38
void SortListItems_Impl(_v::CFuncRef< int, const Data::IListItem::Ptr &, const Data::IListItem::Ptr & > p_Functor)
Sort list items by a functor.
void SetListItems_Impl(const std::vector< Data::IListItem::Ptr > &p_ListItems)
Set list items.
void AddListItem_Impl(const Data::IListItem::Ptr &p_ListItem)
Add a list item.
void OnListCellClicked_Impl(Data::IListCell *p_ListCell)
On list cell clicked.
void SetSelectedListItem_Impl(const Data::IListItem::Ptr &p_ListItem, bool p_Notify=true)
Set selected list item.
void SetListCellPrefab_Impl(Data::IListCell *p_Prefab)
Set list cell prefab.
void OnListItemSelected_Impl(_v::CActionRef< const Data::IListItem::Ptr & > p_Functor, bool p_Add=true)
On list item selected event.
void RemoveListItem_Impl(const Data::IListItem::Ptr &p_ListItem)
Remove a list item.
void ScrollTo_Impl(float p_TargetPosition, bool p_Animated)
Scroll to position.
void Init_DefaultCVVList()
On component creation.
const Data::IListItem::Ptr & GetSelectedItem_Impl()
Get selected item.
Event class helper.
Definition Event.hpp:100
Default generic components implementation.
Various platform utils like Delegate/Action/Function/Event system.
Definition Delegate.hpp:8