| 1 | #include "Library/Camera/ActorCameraTarget.h" |
| 2 | |
| 3 | #include "Library/LiveActor/ActorAreaFunction.h" |
| 4 | #include "Library/LiveActor/ActorCollisionFunction.h" |
| 5 | #include "Library/LiveActor/ActorFlagFunction.h" |
| 6 | #include "Library/LiveActor/ActorMovementFunction.h" |
| 7 | #include "Library/LiveActor/ActorPoseUtil.h" |
| 8 | #include "Library/LiveActor/LiveActor.h" |
| 9 | |
| 10 | namespace al { |
| 11 | |
| 12 | ActorCameraTarget::ActorCameraTarget(const LiveActor* actor, f32 yOffset, |
| 13 | const sead::Vector3f* localOffset) |
| 14 | : mActor(actor), mLocalOffset(localOffset), mYOffset(yOffset) {} |
| 15 | |
| 16 | const char* ActorCameraTarget::getTargetName() const { |
| 17 | return mActor->getName(); |
| 18 | } |
| 19 | |
| 20 | void ActorCameraTarget::calcTrans(sead::Vector3f* trans) const { |
| 21 | calcTransLocalOffset(transOut: trans, actor: mActor, transIn: mLocalOffset ? *mLocalOffset : sead::Vector3f::zero); |
| 22 | trans->y += mYOffset; |
| 23 | } |
| 24 | |
| 25 | void ActorCameraTarget::calcSide(sead::Vector3f* side) const { |
| 26 | calcSideDir(side, actor: mActor); |
| 27 | } |
| 28 | |
| 29 | void ActorCameraTarget::calcUp(sead::Vector3f* up) const { |
| 30 | calcUpDir(up, actor: mActor); |
| 31 | } |
| 32 | |
| 33 | void ActorCameraTarget::calcFront(sead::Vector3f* front) const { |
| 34 | calcFrontDir(front, actor: mActor); |
| 35 | } |
| 36 | |
| 37 | void ActorCameraTarget::calcGravity(sead::Vector3f* gravity) const { |
| 38 | gravity->set(getGravity(actor: mActor)); |
| 39 | } |
| 40 | |
| 41 | void ActorCameraTarget::calcVelocity(sead::Vector3f* velocity) const { |
| 42 | velocity->set(getVelocity(actor: mActor)); |
| 43 | } |
| 44 | |
| 45 | bool ActorCameraTarget::isCollideGround() const { |
| 46 | return isExistActorCollider(mActor) && !isNoCollide(actor: mActor) && isOnGround(mActor, 0); |
| 47 | } |
| 48 | |
| 49 | bool ActorCameraTarget::isInWater() const { |
| 50 | return isInWaterArea(actor: mActor); |
| 51 | } |
| 52 | |
| 53 | } // namespace al |
| 54 | |