OdysseyDecomp/lib/al/Library/Obj/CameraWatchPoint.cpp

43 lines
1.2 KiB
C++

#include "Library/Obj/CameraWatchPoint.h"
#include "Library/Camera/ActorCameraSubTarget.h"
#include "Library/Camera/CameraUtil.h"
#include "Library/LiveActor/ActorClippingFunction.h"
#include "Library/LiveActor/ActorInitFunction.h"
#include "Library/LiveActor/ActorInitUtil.h"
#include "Project/Camera/CameraSubTargetTurnParam.h"
namespace al {
CameraWatchPoint::CameraWatchPoint(const char* name) : LiveActor(name) {}
void CameraWatchPoint::init(const ActorInitInfo& info) {
initActorSceneInfo(this, info);
initActorPoseTRSV(this);
initActorSRT(this, info);
initActorClipping(this, info);
invalidateClipping(this);
initExecutorWatchObj(this, info);
initStageSwitch(this, info);
mCameraSubTarget = createActorCameraSubTarget(this, nullptr);
CameraSubTargetTurnParam* params = new CameraSubTargetTurnParam();
params->init(info);
initCameraSubTargetTurnParam(mCameraSubTarget, params);
trySyncStageSwitchAppearAndKill(this);
}
void CameraWatchPoint::makeActorAlive() {
LiveActor::makeActorAlive();
setCameraPlacementSubTarget(this, mCameraSubTarget);
}
void CameraWatchPoint::kill() {
LiveActor::kill();
resetCameraPlacementSubTarget(this, mCameraSubTarget);
}
} // namespace al