Files

46 lines
1.2 KiB
C++
Raw Permalink Normal View History

#include "Game/Camera/CameraTargetHolder.hpp"
#include "Game/Camera/CameraTargetObj.hpp"
#include "Game/LiveActor/LiveActor.hpp"
CameraTargetHolder::CameraTargetHolder() {
mTarget = nullptr;
mTargetActor = new CameraTargetActor("アクター注目");
mTargetPlayer = new CameraTargetPlayer("マリオ注目");
}
CameraTargetHolder::~CameraTargetHolder() {
}
void CameraTargetHolder::movement() {
mTargetActor->movement();
}
CameraTargetObj *CameraTargetHolder::get() {
return mTarget;
}
void CameraTargetHolder::set(CameraTargetObj *pTarget) {
mTarget = pTarget;
}
void CameraTargetHolder::set(const LiveActor *pActor) {
2021-12-26 22:59:17 +01:00
mTargetActor->mActor = pActor;
mTarget = mTargetActor;
}
2021-12-26 22:59:17 +01:00
void CameraTargetHolder::set(const MarioActor *pActor) {
mTargetPlayer->mActor = pActor;
mTarget = mTargetPlayer;
2021-12-26 22:59:17 +01:00
}
bool CameraTargetHolder::isOnGround() const {
return !mTarget->isJumping() || mTarget->isWaterMode() || mTarget->isOnWaterSurface();
}
bool CameraTargetHolder::isMoving() const {
2021-12-26 15:48:42 +01:00
const TVec3f *lastMove = mTarget->getLastMove();
float length = PSVECMag(reinterpret_cast<const Vec *>(lastMove));
return length > 1.0f;
}