using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Game { public abstract class ManagerBase { private bool _isPause; private bool _isActive; public void Init() { OnInit(); _isPause = false; _isActive = true; } protected virtual void OnInit() { } public void Update(float dateTime) { if (!_isActive || _isPause) return; OnUpdate(dateTime); } protected virtual void OnUpdate(float dateTime) { } public void Reset() { OnReset(); } protected virtual void OnReset() { } public void Dispose() { OnDispose(); } protected virtual void OnDispose() { } public void Pause() { _isPause = true; OnPause(); } protected virtual void OnPause() { } public void Resume() { _isPause = false; OnResume(); } protected virtual void OnResume() { } } }