mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-05-10 01:09:26 +00:00
28 lines
932 B
C++
28 lines
932 B
C++
#pragma once
|
|
|
|
#include <basis/seadTypes.h>
|
|
|
|
namespace al {
|
|
class IUseSceneObjHolder;
|
|
class ISceneObj;
|
|
|
|
ISceneObj* createSceneObj(const IUseSceneObjHolder* user, s32 sceneObjId);
|
|
void setSceneObj(const IUseSceneObjHolder* user, ISceneObj* obj, s32 sceneObjId);
|
|
ISceneObj* getSceneObj(const IUseSceneObjHolder* user, s32 sceneObjId);
|
|
ISceneObj* tryGetSceneObj(const IUseSceneObjHolder* user, s32 sceneObjId);
|
|
bool isExistSceneObj(const IUseSceneObjHolder* user, s32 sceneObjId);
|
|
void deleteSceneObj(const IUseSceneObjHolder* user, s32 sceneObjId);
|
|
bool tryDeleteSceneObj(const IUseSceneObjHolder* user, s32 sceneObjId);
|
|
|
|
template <typename T>
|
|
inline T* getSceneObj(const IUseSceneObjHolder* user) {
|
|
return static_cast<T*>(getSceneObj(user, T::sSceneObjId));
|
|
}
|
|
|
|
template <typename T>
|
|
inline T* tryGetSceneObj(const IUseSceneObjHolder* user) {
|
|
return static_cast<T*>(tryGetSceneObj(user, T::sSceneObjId));
|
|
}
|
|
|
|
} // namespace al
|