using System; using UnityEngine; namespace Core { /// /// Base class for all UI components. /// public abstract class UIBase : MonoBehaviour { public bool IsOpenOnFirstLoad; /// /// Called when the UI is shown. /// public virtual void Show() { gameObject.SetActive(true); } /// /// Called when the UI is hidden. /// public virtual void Hide() { gameObject.SetActive(false); } /// /// Called when the UI is initialized. /// public virtual void Initialize() { // Override in derived classes for initialization logic. } } }