Files
2025TapTapGameJam/Assets/Script/Core/UI/UIBase.cs

43 lines
925 B
C#

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