mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
53 lines
1.1 KiB
C++
53 lines
1.1 KiB
C++
#include "Project/HitSensor/HitSensor.h"
|
|
|
|
#include "Project/HitSensor/SensorHitGroup.h"
|
|
|
|
namespace al {
|
|
void HitSensor::setFollowPosPtr(const sead::Vector3f* followPos) {
|
|
mFollowPos = followPos;
|
|
mFollowMtx = nullptr;
|
|
}
|
|
|
|
void HitSensor::setFollowMtxPtr(const sead::Matrix34f* followMtx) {
|
|
mFollowPos = nullptr, mFollowMtx = followMtx;
|
|
}
|
|
|
|
void HitSensor::validate() {
|
|
if (!mIsValid) {
|
|
mIsValid = true;
|
|
|
|
if (mMaxSensorCount) {
|
|
if (mIsValidBySystem)
|
|
mHitGroup->add(this);
|
|
}
|
|
}
|
|
|
|
mSensorCount = 0;
|
|
}
|
|
|
|
void HitSensor::invalidate() {
|
|
if (mIsValid) {
|
|
mIsValid = false;
|
|
|
|
if (mMaxSensorCount) {
|
|
if (mIsValidBySystem)
|
|
mHitGroup->remove(this);
|
|
}
|
|
}
|
|
|
|
mSensorCount = 0;
|
|
}
|
|
|
|
// HitSensor::validateBySystem
|
|
// HitSensor::invalidateBySystem
|
|
// HitSensor::update (requires some more LiveActor research)
|
|
|
|
void HitSensor::addHitSensor(HitSensor* sensor) {
|
|
// todo -- registers are different
|
|
if (mSensorCount < mMaxSensorCount) {
|
|
mSensors[mSensorCount] = sensor;
|
|
++mSensorCount;
|
|
}
|
|
}
|
|
} // namespace al
|