mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-05-10 09:18:01 +00:00
36 lines
1,007 B
C++
36 lines
1,007 B
C++
#pragma once
|
|
|
|
#include <container/seadPtrArray.h>
|
|
#include <container/seadStrTreeMap.h>
|
|
#include <prim/seadSafeString.h>
|
|
|
|
#include "Library/HostIO/HioNode.h"
|
|
|
|
namespace al {
|
|
class Resource;
|
|
class ActorResource;
|
|
|
|
class ActorResourceHolder : public IUseHioNode {
|
|
public:
|
|
ActorResourceHolder(s32 capacity);
|
|
|
|
virtual ~ActorResourceHolder() = default;
|
|
|
|
ActorResource* tryFindActorResource(const sead::SafeString& name);
|
|
ActorResource* findActorResourceImpl(const sead::SafeString& name);
|
|
ActorResource* createActorResource(const sead::SafeString& name, Resource* modelResource,
|
|
Resource* animResource);
|
|
void removeAll();
|
|
void eraseResourceUser(Resource* resource);
|
|
void freeErasedActorResource();
|
|
|
|
private:
|
|
sead::StrTreeMap<128, ActorResource*> mTreeMap;
|
|
sead::PtrArray<ActorResource> mActorResource;
|
|
sead::PtrArray<ActorResource> mErasedActorResource;
|
|
};
|
|
|
|
static_assert(sizeof(ActorResourceHolder) == 0x48);
|
|
|
|
} // namespace al
|