1#include "Game/MapObj/CoinBox.hpp"
3CoinBox::CoinBox(
const char *pName) :
LiveActor(pName) {
12 MR::initDefaultPos(
this, rIter);
13 MR::connectToSceneMapObjMovement(
this);
15 initNerve(&NrvCoinBox::CoinBoxNrvWait::sInstance);
21 MR::addHitSensorMapObj(
this,
"body", 8, 5.0f, box);
23 setNerve(&NrvCoinBox::CoinBoxNrvWait::sInstance);
24 MR::declareCoin(
this, 1);
25 MR::setClippingFar50m(
this);
26 initEffectKeeper(1,
"Coin",
false);
30void CoinBox::exeHit() {
31 if (!getNerveStep()) {
33 MR::emitEffect(
this,
"CoinGet");
36 if (getNerveStep() == 0xF) {
39 MR::calcGravityOrZero(
this);
41 f32 val = MR::vecKillElement(axis_y,
mGravity, &stack_38);
42 TVec3f stack_8 = stack_38 * 10.0f;
43 TVec3f stack_2C((
mGravity * val) * 30.0f);
46 stack_2C.addInline(stack_8);
47 MR::appearCoinToVelocity(
this,
mPosition, axis_y, 1);
55 setNerve(&NrvCoinBox::CoinBoxNrvHit::sInstance);
63 INIT_NERVE(CoinBoxNrvWait);
64 INIT_NERVE(CoinBoxNrvHit);
66 void CoinBoxNrvHit::execute(
Spine *pSpine)
const {
71 void CoinBoxNrvWait::execute(
Spine *pSpine)
const {
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
The basis of a drawable actor that can contain states (see: Nerve)
TVec3f mRotation
3D vector of the actor's rotation.
TVec3f mPosition
3D vector of the actor's position.
TVec3f mGravity
3D vector of the actor's gravity.
HitSensor * getSensor(const char *pSensorName) const
Gets a sensor.