NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Summon/State/BaseSummonState.cs

49 lines
1.0 KiB
C#

namespace Gameplay.Summon
{
using LTGame;
public class BaseSummonState : NBaseState
{
public readonly BaseSummon owner;
public BaseSummonState(BaseSummon owner, int id) : base(id)
{
this.owner = owner;
}
protected virtual void _OnPreCheck()
{
if (owner.runtimeData.remainExistTime <= 0)
{
isFinished = true;
nextState = ESummonState.WaitRemove;
return;
}
}
public override void Run(float dt)
{
if (this.isFinished) return;
this.deltaTime = dt;
this.passTime += this.deltaTime;
_OnPreCheck();
if (isFinished) return;
this._OnRunning();
}
protected override void _OnEnter(NBaseState exitState, object param)
{
}
protected override void _OnExit(NBaseState exitState, object param)
{
}
protected override void _OnRunning()
{
}
}
}