sead
Loading...
Searching...
No Matches
aglNamedObjMgr.h
Go to the documentation of this file.
1#pragma once
2
3#include <container/seadBuffer.h>
4#include <container/seadOffsetList.h>
5#include <container/seadPtrArray.h>
6#include <utility/aglNamedObj.h>
7
8namespace agl { namespace utl {
9
10class INamedObjIndex;
11
12class INamedObjMgr : public sead::hostio::Node
13{
14public:
16 {
17 };
18
19 class Group : public sead::hostio::Node
20 {
21 public:
22 Group();
23 virtual ~Group();
24
25 void initialize(s32 index, INamedObjMgr* p_mgr, sead::Heap* heap);
26 void reset(const sead::SafeString& name);
27
28 const sead::SafeString& getName() const
29 {
30 return mName;
31 }
32
33 public:
34 static s32 compare(const Group* a, const Group* b);
35
36 private:
41 };
42 static_assert(sizeof(Group) == 0x144);
43
44public:
46 virtual ~INamedObjMgr();
47
48 void initialize(u32 obj_num, u32 group_num, sead::Heap* heap);
49 void pushBackNamedObj(INamedObj* p_obj);
50
51 virtual const sead::SafeString& getNamedObjName(s32 index, s32 type) const
52 {
53 return mObj[index]->getObjName();
54 }
55
56 virtual s32 getNamedObjNum(s32 type) const
57 {
58 return mObj.size();
59 }
60
61 virtual const sead::SafeString& getSaveFilePath() const
62 {
63 return sead::SafeString::cEmptyString;
64 }
65
69
70 bool isGroup(s32 group_index, const agl::utl::INamedObj& obj) const
71 {
72 return group_index == -1 || mGroupBuffer[group_index].getName() == obj.getGroupName();
73 }
74
75 void constructList();
76 void constructListByName(s32 group_index);
77 void constructListByGroup(s32 group_index);
78 void updateList();
79
80protected:
85
86 friend class INamedObjIndex;
87};
88static_assert(sizeof(INamedObjMgr) == 0x34);
89
90} }
Definition aglNamedObjIndex.h:11
Definition aglNamedObjMgr.h:20
static s32 compare(const Group *a, const Group *b)
Definition aglNamedObjMgr.cpp:184
void reset(const sead::SafeString &name)
Definition aglNamedObjMgr.cpp:175
s32 mIndex
Definition aglNamedObjMgr.h:38
sead::FixedSafeString< 256 > _34
Definition aglNamedObjMgr.h:40
Group()
Definition aglNamedObjMgr.cpp:158
const sead::SafeString & getName() const
Definition aglNamedObjMgr.h:28
virtual ~Group()
Definition aglNamedObjMgr.cpp:164
sead::FixedSafeString< 32 > mName
Definition aglNamedObjMgr.h:39
void initialize(s32 index, INamedObjMgr *p_mgr, sead::Heap *heap)
Definition aglNamedObjMgr.cpp:168
INamedObjMgr * mpMgr
Definition aglNamedObjMgr.h:37
Definition aglNamedObjMgr.h:13
GroupEventType
Definition aglNamedObjMgr.h:16
void pushBackNamedObj(INamedObj *p_obj)
Definition aglNamedObjMgr.cpp:43
virtual void listenPropertyEventFromGroup(GroupEventType, Group *)
Definition aglNamedObjMgr.h:66
virtual const sead::SafeString & getNamedObjName(s32 index, s32 type) const
Definition aglNamedObjMgr.h:51
void constructList()
Definition aglNamedObjMgr.cpp:49
bool isGroup(s32 group_index, const agl::utl::INamedObj &obj) const
Definition aglNamedObjMgr.h:70
INamedObjMgr()
Definition aglNamedObjMgr.cpp:14
void constructListByName(s32 group_index)
Definition aglNamedObjMgr.cpp:95
sead::OffsetList< INamedObjIndex > mObjIndex
Definition aglNamedObjMgr.h:84
sead::PtrArray< Group > mGroupPtrArray
Definition aglNamedObjMgr.h:83
sead::Buffer< Group > mGroupBuffer
Definition aglNamedObjMgr.h:82
virtual ~INamedObjMgr()
Definition aglNamedObjMgr.cpp:19
void updateList()
Definition aglNamedObjMgr.cpp:146
void initialize(u32 obj_num, u32 group_num, sead::Heap *heap)
Definition aglNamedObjMgr.cpp:27
sead::PtrArray< INamedObj > mObj
Definition aglNamedObjMgr.h:81
virtual const sead::SafeString & getSaveFilePath() const
Definition aglNamedObjMgr.h:61
void constructListByGroup(s32 group_index)
Definition aglNamedObjMgr.cpp:114
virtual s32 getNamedObjNum(s32 type) const
Definition aglNamedObjMgr.h:56
Definition aglNamedObj.h:9
Definition seadBuffer.h:13
Definition seadSafeString.h:421
Definition seadHeap.h:23
Definition seadOffsetList.h:11
Definition seadPtrArray.h:111
Definition seadHostIODummy.h:25
Definition aglImageFilter2D.h:11
Definition aglDisplayList.cpp:5
Definition seadHeap.h:14
Definition seadAssert.h:44
SafeStringBase< char > SafeString
Definition seadSafeString.h:409