Files
ichni_Official/Assets/Scripts/UI/Base/Switch.cs
SoulliesOfficial a34461d31f 阶段性完成
2026-07-25 13:27:53 -04:00

45 lines
1.1 KiB
C#

using Michsky.MUIP;
namespace Ichni.UI
{
public class Switch : SettingsUIElementBase
{
public bool value;
public SwitchManager switchManager;
private bool _isValueChangeListenerRegistered;
public void SetUp(bool initialValue, bool preservePrefabTitle = true)
{
base.SetUp(preservePrefabTitle);
if (!_isValueChangeListenerRegistered)
{
switchManager.onValueChanged.AddListener(OnSwitchValueChanged);
_isValueChangeListenerRegistered = true;
}
SetValue(initialValue);
}
private void OnSwitchValueChanged(bool isOn)
{
value = isOn;
updateValueAction?.Invoke();
}
public void SetValue(bool value)
{
this.value = value;
switchManager.isOn = value;
if (switchManager.isInitialized){
switchManager.UpdateUI();
}
}
public bool GetValue()
{
return value;
}
}
}