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

56 lines
1.3 KiB
C#
Raw Normal View History

2023-11-15 18:25:27 +08:00
namespace Gameplay.Summon
2023-08-22 19:08:45 +08:00
{
using LTGame;
public class BaseSummonState : NBaseState
{
2023-10-19 15:00:19 +08:00
public readonly BaseSummon owner;
2023-08-22 19:08:45 +08:00
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;
}
if (owner.statusData.canBeAttack && owner.aliveData.currentHp <= 0)
{
isFinished = true;
owner.statusData.isDead = true;
nextState = ESummonState.WaitRemove;
}
2023-08-22 19:08:45 +08:00
}
public override void Run(float dt)
{
if (isFinished) return;
deltaTime = dt;
passTime += deltaTime;
2023-08-22 19:08:45 +08:00
_OnPreCheck();
if (isFinished) return;
_OnRunning();
2023-08-22 19:08:45 +08:00
}
protected override void _OnEnter(NBaseState exitState, object param)
{
}
protected override void _OnExit(NBaseState exitState, object param)
{
}
protected override void _OnRunning()
{
}
}
}