using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.Serialization; using UnityEngine.UI; public class ItemToggle : MonoBehaviour { public Text txt; public Toggle toggle; public void OnInitialized(string str, UnityAction OnChanged) { txt.text = $"{str}"; if (OnChanged != null) OnValueChanged.AddListener(OnChanged); toggle.onValueChanged.AddListener(ToggleChanged); } [System.Serializable] public class ValueChangedEvent : UnityEvent { } [FormerlySerializedAs("onValueChanged")] [Space(10)] [SerializeField] private ValueChangedEvent OnValueChanged = new ValueChangedEvent(); void ToggleChanged(bool isOn) { OnValueChanged.Invoke(this); } }