SuperMarioOdysseyOnline/include/puppets/PuppetHolder.hpp
2022-06-16 14:33:18 -07:00

39 lines
No EOL
864 B
C++

#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(); }
private:
sead::PtrArray<PuppetActor> mPuppetArr;
PuppetActor *mDebugPuppet;
sead::FixedSafeString<0x40> mStageName;
u8 mScenarioNo;
};