//using System; //using System.Collections.Generic; //using System.Linq; //using System.Text; //using UnityEngine; //using UnityEngine.UI; //using UnityExplorer.UI; //using UnityExplorer.UI.CacheObject; //namespace UnityExplorer.UI.InteractiveValues //{ // public class InteractiveBool : InteractiveValue // { // public InteractiveBool(object value, Type valueType) : base(value, valueType) { } // public override bool HasSubContent => false; // public override bool SubContentWanted => false; // public override bool WantInspectBtn => false; // internal Toggle m_toggle; // internal Button m_applyBtn; // public override void OnValueUpdated() // { // base.OnValueUpdated(); // } // public override void RefreshUIForValue() // { // GetDefaultLabel(); // if (Owner.HasEvaluated) // { // var val = (bool)Value; // if (!m_toggle.gameObject.activeSelf) // m_toggle.gameObject.SetActive(true); // if (val != m_toggle.isOn) // m_toggle.isOn = val; // if (Owner.CanWrite) // { // if (!m_applyBtn.gameObject.activeSelf) // m_applyBtn.gameObject.SetActive(true); // } // var color = val // ? "6bc981" // on // : "c96b6b"; // off // m_baseLabel.text = $"{val}"; // } // else // { // m_baseLabel.text = DefaultLabel; // } // } // public override void OnException(CacheMember member) // { // base.OnException(member); // if (Owner.CanWrite) // { // if (m_toggle.gameObject.activeSelf) // m_toggle.gameObject.SetActive(false); // if (m_applyBtn.gameObject.activeSelf) // m_applyBtn.gameObject.SetActive(false); // } // } // internal void OnToggleValueChanged(bool val) // { // Value = val; // RefreshUIForValue(); // } // public override void ConstructUI(GameObject parent, GameObject subGroup) // { // base.ConstructUI(parent, subGroup); // var baseLayout = m_baseLabel.gameObject.GetComponent(); // baseLayout.flexibleWidth = 0; // baseLayout.minWidth = 50; // var toggleObj = UIFactory.CreateToggle(m_mainContent, "InteractiveBoolToggle", out m_toggle, out _, new Color(0.1f, 0.1f, 0.1f)); // UIFactory.SetLayoutElement(toggleObj, minWidth: 24); // m_toggle.onValueChanged.AddListener(OnToggleValueChanged); // m_baseLabel.transform.SetAsLastSibling(); // m_applyBtn = UIFactory.CreateButton(m_mainContent, // "ApplyButton", // "Apply", // () => { Owner.SetValue(); }, // new Color(0.2f, 0.2f, 0.2f)); // UIFactory.SetLayoutElement(m_applyBtn.gameObject, minWidth: 50, minHeight: 25, flexibleWidth: 0); // toggleObj.SetActive(false); // if (!Owner.CanWrite) // m_toggle.interactable = false; // m_applyBtn.gameObject.SetActive(false); // } // } //}