using UnityEngine; namespace Core { public abstract class SystemBase : BaseMonoBehaviour { [field: SerializeField] public bool AutoStart { get; protected set; } = true; protected bool IsRun; public virtual void Initialize() {} public virtual void StartSystem() { // if (!IsInitialized) return; // Experimental. IsRun = true; } // Add stop for systems when destroyed? (or auto initiated by application?) public virtual void StopSystem() => IsRun = false; public virtual void ResetSystem() {} } }