namespace GeometryTD.CustomComponent { internal abstract class CombatStateBase { protected CombatSchedulerRuntime Runtime { get; } protected CombatSchedulerCoordinator Coordinator { get; } protected CombatStateBase(CombatSchedulerRuntime runtime, CombatSchedulerCoordinator coordinator) { Runtime = runtime; Coordinator = coordinator; } public virtual void OnInit() { } public virtual void OnEnter() { } public virtual void OnExit() { } public virtual void OnUpdate(float elapseSeconds, float realElapseSeconds) { } public virtual void OnDestroy() { } } }