using UnityEngine;
|
using System.Collections.Generic;
|
|
public class DodgeFinishAction : RecordAction
|
{
|
private bool isRun = false;
|
|
public DodgeFinishAction(BattleField _battleField, BattleObject _dodgeObj)
|
: base(RecordActionType.DodgeFinish, _battleField, _dodgeObj)
|
{
|
|
}
|
|
public override bool IsFinished()
|
{
|
return isFinish;
|
}
|
|
|
public override void Run()
|
{
|
base.Run();
|
|
if (isRun)
|
return;
|
|
battleObject.OnDodgeEnd();
|
isFinish = true;
|
isRun = true;
|
}
|
|
public override void ForceFinish()
|
{
|
if (isFinish)
|
return;
|
|
// 确保闪避状态正确结束
|
if (battleObject != null && !isRun)
|
{
|
battleObject.OnDodgeEnd();
|
}
|
|
isRun = true;
|
base.ForceFinish();
|
}
|
}
|