using System.Collections; using System.Collections.Generic; using GameFramework.Fsm; using GameFramework.Procedure; using UnityEngine; namespace Procedure { public abstract class GameStateBase { public abstract GameStateType GameStateType { get; } public abstract void OnInit(ProcedureGame master); public abstract void OnEnter(IFsm procedureOwner); public abstract void OnUpdate(IFsm procedureOwner, float elapseSeconds, float realElapseSeconds); public abstract void OnLeave(IFsm procedureOwner); public abstract void OnDestroy(IFsm procedureOwner); } }