using UnityEngine; namespace Game { public class UIBase : IUI { private bool _isPause; private bool _isActive; private GameObject _self; private CanvasGroup _group; public bool isPause => _isPause; public bool isActive => _isActive; public GameObject self => _self; public UIBase(GameObject self, bool isPause = true, bool isActive = false) { _isPause = isPause; _isActive = isActive; _self = self; _group = self.GetComponent(); } public virtual void Init() { _isPause = false; _isActive = true; } public virtual void Open() { _self.SetActive(true); } public void Update(float dateTime) { if (_isPause) return; } public virtual void Close() { _self.SetActive(false); } public virtual void Pause() { _isPause = true; _group.interactable = false; } public virtual void Resume() { _isPause = false; _group.interactable = true; } public virtual void Dispose() { _isActive = false; _isPause = true; } } }