1#pragma once
2
3#include <basis/seadTypes.h>
4
5#include "Library/LiveActor/LiveActor.h"
6
7#include "Util/IUseDimension.h"
8
9namespace al {
10struct ActorInitInfo;
11class HitSensor;
12class NerveStateBase;
13class SensorMsg;
14} // namespace al
15
16class ActorDimensionKeeper;
17
18class LifeUpItem2D : public al::LiveActor, public IUseDimension {
19public:
20 LifeUpItem2D(const char* name);
21
22 void init(const al::ActorInitInfo& initInfo) override;
23 bool receiveMsg(const al::SensorMsg* message, al::HitSensor* other,
24 al::HitSensor* self) override;
25 ActorDimensionKeeper* getActorDimensionKeeper() const override;
26
27 void appearPopUp();
28 void appearAmiiboTouch();
29 void get();
30
31 void exePopUp();
32 void exeWait();
33 void exeGet();
34 void exeAutoGetDemo();
35
36 void setBool130(bool value) { _130 = value; }
37
38private:
39 al::NerveStateBase* mNerveStateBase = nullptr;
40 al::HitSensor* mHitSensor = nullptr;
41 s32 _120 = 0;
42 ActorDimensionKeeper* mDimensionKeeper = nullptr;
43 bool _130 = false;
44};
45