Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/SRDebugger/UI/Controls/Data/BoolControl.cs
2026-02-21 16:45:37 +08:00

45 lines
802 B
C#

using System;
using SRF;
using UnityEngine.UI;
namespace SRDebugger.UI.Controls.Data
{
public class BoolControl : DataBoundControl
{
[RequiredField]
public Text Title;
[RequiredField]
public Toggle Toggle;
protected override void Start()
{
base.Start();
Toggle.onValueChanged.AddListener(ToggleOnValueChanged);
}
private void ToggleOnValueChanged(bool isOn)
{
UpdateValue(isOn);
}
protected override void OnBind(string propertyName, Type t)
{
base.OnBind(propertyName, t);
Title.text = propertyName;
Toggle.interactable = !base.IsReadOnly;
}
protected override void OnValueUpdated(object newValue)
{
bool isOn = (bool)newValue;
Toggle.isOn = isOn;
}
public override bool CanBind(Type type)
{
return type == typeof(bool);
}
}
}