1#pragma once
2
3#include <container/seadPtrArray.h>
4#include <prim/seadSafeString.h>
5
6namespace al {
7class LiveActor;
8}
9
10class PlayerModelHolder {
11public:
12 struct Entry {
13 Entry(al::LiveActor* actor) : actor(actor) {}
14
15 sead::FixedSafeString<128> name;
16 al::LiveActor* actor;
17 };
18
19 PlayerModelHolder(u32);
20 void registerModel(al::LiveActor*, const char*);
21 void changeModel(const char*);
22 al::LiveActor* findModelActor(const char*) const;
23 al::LiveActor* tryFindModelActor(const char*) const;
24 bool isCurrentModelLabel(const char*) const;
25 bool isCurrentModelLabelSubString(const char*) const;
26
27private:
28 sead::PtrArray<Entry> mBuffer;
29 Entry* mCurrentModel = nullptr;
30 sead::FixedSafeString<128> _10 = sead::FixedSafeString<128>("");
31};
32