2025-01-30 23:38:06 +01:00

58 lines
1.9 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using TMPro;
namespace Michsky.MUIP
{
[ExecuteInEditMode]
public class UIManagerToggle : MonoBehaviour
{
[Header("Settings")]
[SerializeField] private UIManager UIManagerAsset;
[Header("Resources")]
[SerializeField] private Image border;
[SerializeField] private Image background;
[SerializeField] private Image check;
[SerializeField] private TextMeshProUGUI onLabel;
[SerializeField] private TextMeshProUGUI offLabel;
void Awake()
{
if (UIManagerAsset == null) { UIManagerAsset = Resources.Load<UIManager>("MUIP Manager"); }
this.enabled = true;
if (!UIManagerAsset.enableDynamicUpdate)
{
UpdateToggle();
this.enabled = false;
}
}
void Update()
{
if (UIManagerAsset == null) { return; }
if (UIManagerAsset.enableDynamicUpdate) { UpdateToggle(); }
}
void UpdateToggle()
{
border.color = UIManagerAsset.toggleBorderColor;
background.color = UIManagerAsset.toggleBackgroundColor;
check.color = UIManagerAsset.toggleCheckColor;
if (onLabel != null)
{
onLabel.color = new Color(UIManagerAsset.toggleTextColor.r, UIManagerAsset.toggleTextColor.g, UIManagerAsset.toggleTextColor.b, onLabel.color.a);
onLabel.font = UIManagerAsset.toggleFont;
}
if (offLabel != null)
{
offLabel.color = new Color(UIManagerAsset.toggleTextColor.r, UIManagerAsset.toggleTextColor.g, UIManagerAsset.toggleTextColor.b, offLabel.color.a);
offLabel.font = UIManagerAsset.toggleFont;
}
}
}
}