using System.Collections; using System.Collections.Generic; using Ichni.RhythmGame; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; namespace Ichni.Editor { public class DynamicUIToggle : DynamicUIElement { public Toggle toggle; public override void Initialize(IBaseElement baseElement, string title, string parameterName) { base.Initialize(baseElement, title, parameterName); toggle.isOn = (bool)connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement); //获取对应变量的值 toggle.onValueChanged.AddListener(ApplyParameters); } private void ApplyParameters(bool value) { connectedBaseElement.GetType().GetField(parameterName).SetValue(connectedBaseElement, value); connectedBaseElement.Refresh(); } public void AddListenerFunction(UnityAction action) { toggle.onValueChanged.AddListener(action); } } }