1#include "Game/MapObj/PowerStarHolder.hpp"
2#include "Game/NPC/EventDirector.hpp"
4PowerStarHolder::PowerStarHolder(
const char *pName) :
NameObj(pName) {
6 MR::zeroMemory(mInfos,
sizeof(mInfos));
13void PowerStarHolder::registerPowerStar(
PowerStar *pStar,
int starNum) {
16 info->mStarNum = starNum;
17 info->mIsAppear =
false;
18 mInfos[mNumInfos] = info;
22void PowerStarHolder::requestAppearPowerStar(
int starNum,
const TVec3f *pPos,
bool forceAppear) {
24 info->mIsAppear =
true;
27 if (pPos !=
nullptr) {
28 star->setDemoAppearPos(*pPos);
36 star->requestAppear();
40void PowerStarHolder::appearPowerStarWithoutDemo(
int starNum) {
42 info->mIsAppear =
true;
44 star->offAppearDemo();
48PowerStar* PowerStarHolder::getAppearedPowerStar(
int starNum)
const {
49 for (s32 i = 0; i < mNumInfos; i++) {
52 if (info->mStarNum == starNum && info->mIsAppear) {
61 for (s32 i = 0; i < mNumInfos; i++) {
64 if (info->mStarNum == starNum) {
73 void registerPowerStar(
PowerStar *pStar,
int starNum) {
74 EventFunction::getPowerStarHolder()->registerPowerStar(pStar, starNum);
78bool PowerStarFunction::isEndPowerStarAppearDemo(
int starNum) {
79 return EventFunction::getPowerStarHolder()->getAppearedPowerStar(starNum)->isEndAppearDemo();
82PowerStar* PowerStarFunction::findPowerStar(
int starNum) {
83 return EventFunction::getPowerStarHolder()->findPowerStarRequestInfo(starNum)->mStar;
86PowerStarHolder::~PowerStarHolder() {
The most basic form of an object.
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.