using LTGame; namespace Gameplay.Character { public class BaseCharacterState : NBaseState { public readonly Character owner; public BaseCharacterState(Character character, int id) : base(id) { owner = character; } protected virtual void _OnPreCheck() { } public override void Run(float dt) { if (isFinished) return; deltaTime = dt; passTime += deltaTime; _OnPreCheck(); if (isFinished) return; _OnRunning(); } protected override void _OnEnter(NBaseState exitState, object param) { } protected override void _OnExit(NBaseState exitState, object param) { } protected override void _OnRunning() { } } }