2022-06-16 21:33:18 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "sead/container/seadPtrArray.h"
|
|
|
|
#include "sead/prim/seadSafeString.hpp"
|
|
|
|
#include "logger.hpp"
|
|
|
|
#include "actors/PuppetActor.h"
|
|
|
|
|
|
|
|
class PuppetHolder {
|
|
|
|
public:
|
|
|
|
PuppetHolder(int size);
|
|
|
|
|
|
|
|
void update();
|
|
|
|
|
|
|
|
bool tryRegisterPuppet(PuppetActor *puppet);
|
|
|
|
|
|
|
|
bool tryRegisterDebugPuppet(PuppetActor *puppet);
|
|
|
|
|
|
|
|
bool checkInfoIsInStage(PuppetInfo *info);
|
|
|
|
|
|
|
|
int getSize() {return mPuppetArr.size(); }
|
|
|
|
|
|
|
|
PuppetActor *getPuppetActor(int idx) {return mPuppetArr[idx];};
|
|
|
|
|
|
|
|
PuppetActor *getDebugPuppet();
|
|
|
|
|
|
|
|
void setStageInfo(const char *stageName, u8 scenarioNo);
|
|
|
|
|
|
|
|
void clearPuppets() { mPuppetArr.clear(); }
|
|
|
|
|
2022-07-08 08:02:28 +00:00
|
|
|
bool resizeHolder(int size);
|
|
|
|
|
2022-06-16 21:33:18 +00:00
|
|
|
private:
|
2022-07-08 08:02:28 +00:00
|
|
|
sead::PtrArray<PuppetActor> mPuppetArr = sead::PtrArray<PuppetActor>();
|
2022-06-16 21:33:18 +00:00
|
|
|
|
|
|
|
PuppetActor *mDebugPuppet;
|
|
|
|
|
|
|
|
sead::FixedSafeString<0x40> mStageName;
|
|
|
|
|
|
|
|
u8 mScenarioNo;
|
|
|
|
};
|