45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
namespace SRDebugger.UI.Controls.Data
 | 
						|
{
 | 
						|
    using System;
 | 
						|
    using SRF;
 | 
						|
    using UnityEngine.UI;
 | 
						|
 | 
						|
    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 = !IsReadOnly;
 | 
						|
        }
 | 
						|
 | 
						|
        protected override void OnValueUpdated(object newValue)
 | 
						|
        {
 | 
						|
            var value = (bool) newValue;
 | 
						|
            Toggle.isOn = value;
 | 
						|
        }
 | 
						|
 | 
						|
        public override bool CanBind(Type type, bool isReadOnly)
 | 
						|
        {
 | 
						|
            return type == typeof (bool);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |