mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-30 04:24:17 +00:00
55 lines
1.8 KiB
C++
55 lines
1.8 KiB
C++
#include "Library/LiveActor/ActorSensorController.h"
|
|
|
|
#include "Library/LiveActor/ActorSensorUtil.h"
|
|
#include "Project/HitSensor/HitSensor.h"
|
|
|
|
namespace al {
|
|
|
|
ActorSensorController::ActorSensorController(LiveActor* sensorParent, const char* sensorName) {
|
|
HitSensor* actorSensor = getHitSensor(sensorParent, sensorName);
|
|
mHitSensor = actorSensor;
|
|
mSensorRadius = actorSensor->getRadius();
|
|
mSensorFollowPosOffset = actorSensor->getFollowPosOffset();
|
|
}
|
|
|
|
void ActorSensorController::setSensorScale(f32 scale) {
|
|
mHitSensor->setRadius(mSensorRadius * scale);
|
|
mHitSensor->setFollowPosOffset(mSensorFollowPosOffset * scale);
|
|
}
|
|
|
|
void ActorSensorController::setSensorRadius(f32 radius) {
|
|
mHitSensor->setRadius(radius);
|
|
}
|
|
|
|
void ActorSensorController::setSensorFollowPosOffset(const sead::Vector3f& offset) {
|
|
mHitSensor->setFollowPosOffset(offset);
|
|
}
|
|
|
|
void ActorSensorController::resetActorSensorController() {
|
|
mHitSensor->setRadius(mSensorRadius);
|
|
mHitSensor->setFollowPosOffset(mSensorFollowPosOffset);
|
|
}
|
|
|
|
ActorSensorControllerList::ActorSensorControllerList(s32 maxControllers)
|
|
: mMaxControllers(maxControllers) {
|
|
mControllers = new ActorSensorController*[maxControllers];
|
|
for (s32 i = 0; i < mMaxControllers; i++)
|
|
mControllers[i] = nullptr;
|
|
}
|
|
|
|
void ActorSensorControllerList::addSensor(LiveActor* actor, const char* sensorName) {
|
|
mControllers[mControllerNum++] = new ActorSensorController(actor, sensorName);
|
|
}
|
|
|
|
void ActorSensorControllerList::setAllSensorScale(f32 scale) {
|
|
for (s32 i = 0; i < mControllerNum; i++)
|
|
mControllers[i]->setSensorScale(scale);
|
|
}
|
|
|
|
void ActorSensorControllerList::resetAllActorSensorController() {
|
|
for (s32 i = 0; i < mControllerNum; i++)
|
|
mControllers[i]->resetActorSensorController();
|
|
}
|
|
|
|
} // namespace al
|