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<Toggle> m_Toggles = new List<Toggle>();

    [SerializeField]
    public ToggleGroup m_ToggleGroup;


    //public Acticity_Type m_ActivityType = Acticity_Type.ACTIVITY_INVALID;


    [Serializable]
    public class ToggleSelect : UnityEvent<int>  
    {
        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中做处理)
                }
            }
        } 
        
       
             
    }


	
}