SuperMarioOdysseyOnline/include/puppets/PuppetHolder.hpp

39 lines
864 B
C++
Raw Normal View History

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