using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using UnityEngine.Events; using System; public class OnTogglesSelect : MonoBehaviour { //private OnTogglesSelect Instance; //public OnTogglesSelect GteInstance() //{ // return Instance; //} //private void Awake() //{ // Instance = this; //} //private void OnDestroy() //{ // Instance = null; //} //public enum Acticity_Type //{ // ACTIVITY_INVALID = -1, // ACTIVITY_DAILY = 0, //全部任务 // ACTIVITY_EXP = 1, //经验 // ACTIVITY_LITMITTIME = 2, //限时 // ACTIVITY_EQUIP = 3, //装备 // ACTIVITY_TRIBUTE = 4, //帮贡 //} [SerializeField] public List m_Toggles = new List(); [SerializeField] public ToggleGroup m_ToggleGroup; //public Acticity_Type m_ActivityType = Acticity_Type.ACTIVITY_INVALID; [Serializable] public class ToggleSelect : UnityEvent { public ToggleSelect() { } //指定一个方法 用于回调 } [SerializeField] public ToggleSelect m_ToggleSelectCallBack; //用于:打开toggle之后,打开并刷新对应的任务 //记录开启的Toggle的下标 private int lastIndex = -1; public void OnToggleOn(bool isOn) { if (!isOn) return; for(int index = 0; index < m_Toggles.Count; index ++) { if (m_Toggles[index].isOn) { if (index < 0) { return; } if(lastIndex == index) { return; } lastIndex = index; //刷新页面 if (m_ToggleSelectCallBack != null) { m_ToggleSelectCallBack.Invoke(index); //方法回调(打开对应的Togle之后,会传递对应的Index值,在ActivityController中做处理) } } } } }