using UnityEngine;
|
using System.Collections.Generic;
|
using System;
|
|
|
// 如果这个Action卡住了 大概率是因为 动作被其他动作中断了 导致没有回调
|
public class RebornRecordAction : RecordAction
|
{
|
private Action actionCallback;
|
|
public RebornRecordAction(BattleField _battleField, BattleObject rebornObj, Action _callback)
|
: base(RecordActionType.Reborn, _battleField, null)
|
{
|
actionCallback = _callback;
|
}
|
|
|
public override void Run()
|
{
|
|
if (isFinish)
|
return;
|
|
|
if (!isRunOnce)
|
{
|
isRunOnce = true;
|
actionCallback?.Invoke();
|
actionCallback = null;
|
isFinish = true;
|
}
|
}
|
|
|
public override void ForceFinish()
|
{
|
isFinish = true;
|
|
if (!isRunOnce)
|
{
|
actionCallback?.Invoke();
|
actionCallback = null;
|
}
|
|
base.ForceFinish();
|
}
|
}
|