1#include "Player/PlayerJudgeStartRun.h"
2
3#include "Player/PlayerCounterForceRun.h"
4#include "Player/PlayerInput.h"
5#include "Util/JudgeUtil.h"
6#include "Util/PlayerCollisionUtil.h"
7
8PlayerJudgeStartRun::PlayerJudgeStartRun(const al::LiveActor* player, const PlayerConst* pConst,
9 const IUsePlayerCollision* collision,
10 const PlayerInput* input,
11 const PlayerCounterForceRun* counterForceRun,
12 const IJudge* judgeWaterSurfaceRun)
13 : mPlayer(player), mCollision(collision), mInput(input), mCounterForceRun(counterForceRun),
14 mJudgeForceLand(judgeWaterSurfaceRun) {}
15
16bool PlayerJudgeStartRun::judge() const {
17 if (!rs::isCollidedGround(mCollision))
18 return false;
19 if (mCounterForceRun->isForceRun())
20 return true;
21 if (!rs::isJudge(judge: mJudgeForceLand) &&
22 (mInput->isMove() || rs::isAutoRunOnGroundSkateCode(mPlayer, mCollision, 0.5f)))
23 return true;
24 return false;
25}
26