Files
Cielonos/Assets/Scripts/SLSUtilities/UI/UIElementBase.cs
2026-05-10 11:47:55 -04:00

46 lines
1.1 KiB
C#

using System;
using Sirenix.OdinInspector;
using UnityEngine;
namespace SLSUtilities.UI
{
public class UIElementBase : SerializedMonoBehaviour
{
[Title("UI Base References")]
public RectTransform rectTransform;
public CanvasGroup canvasGroup;
private void Reset()
{
rectTransform ??= GetComponent<RectTransform>();
canvasGroup ??= GetComponent<CanvasGroup>();
}
public virtual void UpdateUI()
{
// Override in derived classes
}
public virtual void Show()
{
gameObject.SetActive(true);
if(canvasGroup)
{
canvasGroup.alpha = 1;
canvasGroup.interactable = true;
canvasGroup.blocksRaycasts = true;
}
}
public virtual void Hide()
{
if (canvasGroup)
{
canvasGroup.alpha = 0;
canvasGroup.interactable = false;
canvasGroup.blocksRaycasts = false;
}
gameObject.SetActive(false);
}
}
}