SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
CollisionBlocker.cpp
1#include "Game/MapObj/CollisionBlocker.hpp"
2
3CollisionBlocker::CollisionBlocker(const char *pName) : LiveActor(pName) {
4
5}
6
8 MR::initDefaultPos(this, rIter);
9 initHitSensor(1);
10
11 TVec3f sensor_radius;
12 sensor_radius.x = 0.0f;
13 sensor_radius.y = 0.0f;
14 sensor_radius.z = 0.0f;
15 MR::addHitSensorEye(this, "eye", 4, 50.0f * mScale.y, sensor_radius);
16 MR::connectToSceneMapObjMovement(this);
17 MR::setClippingFar50m(this);
18 makeActorAppeared();
19
20 if (MR::isValidInfo(rIter)) {
21 MR::useStageSwitchSleep(this, rIter);
22
23 if (MR::useStageSwitchReadAppear(this, rIter)) {
24 makeActorDead();
25 MR::syncStageSwitchAppear(this);
26 }
27
28 if (MR::useStageSwitchReadB(this, rIter)) {
29 MR::FunctorV0M<CollisionBlocker *, void (CollisionBlocker::*)()> breakFunc = MR::Functor<CollisionBlocker>(this, &CollisionBlocker::forceBreak);
30 MR::listenStageSwitchOnB(this, breakFunc);
31 }
32 }
33}
34
35void CollisionBlocker::forceBreak() {
36 kill();
37}
38
39void CollisionBlocker::attackSensor(HitSensor *a1, HitSensor *a2) {
40 if (MR::isSensorPlayer(a2)) {
41 MR::sendArbitraryMsg(42, a2, a1);
42 }
43}
44
45CollisionBlocker::~CollisionBlocker() {
46
47}
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)
Definition LiveActor.hpp:24
TVec3f mScale
3D vector of the actor's scale.
Definition LiveActor.hpp:97