46 lines
1.1 KiB
C#
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);
|
|
}
|
|
}
|
|
} |