namespace GeometryTD.CustomComponent { internal abstract class CombatStateBase { protected CombatSchedulerRuntimeContext Context { get; } protected CombatSchedulerFlowCoordinator Flow { get; } protected CombatStateBase(CombatSchedulerRuntimeContext context, CombatSchedulerFlowCoordinator flow) { Context = context; Flow = flow; } public virtual void OnInit() { } public virtual void OnEnter() { } public virtual void OnExit() { } public virtual void OnUpdate(float elapseSeconds, float realElapseSeconds) { } public virtual void OnDestroy() { } } }