using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;

public class ChatChannelLogic : MonoBehaviour
{
    public Toggle[] _Toggles;

    void Start()
    {
        if (ChatFrameLogic.Instance() == null)
            return;

        foreach (var toggle in _Toggles)
        {
            int channelID;
            if (int.TryParse(toggle.name, out channelID))
            {
                if (ChatFrameLogic.Instance()._ChatChannels.Contains((GC_CHAT.CHATTYPE)channelID))
                {
                    toggle.isOn = true;
                }
                else
                {
                    toggle.isOn = false;
                }
            }
        }
    }

    #region 

    public void OnBtnOk()
    {
        List<int> channelids = new List<int>();
        foreach (var toggle in _Toggles)
        {
            if (toggle.isOn)
            {
                int channelID;
                if (int.TryParse(toggle.name, out channelID))
                {
                    if(channelID == (int)GC_CHAT.CHATTYPE.CHAT_TYPE_LOUDSPEAKER)
                    {
                        channelids.Add((int)GC_CHAT.CHATTYPE.CHAT_TYPE_ALLSERSPEAKER);
                        channelids.Add((int)GC_CHAT.CHATTYPE.CHAT_TYPE_CROSSSERSPEAKER);
                    }
                    channelids.Add(channelID);
                }
            }
        }
        if(ChatFrameLogic.Instance())
            ChatFrameLogic.Instance().SetShowChannel(channelids);

        OnClose();
    }

    public void OnBtnCancel()
    { }

    public void OnClose()
    {
        UIManager.CloseUI(UIInfo.ChatFrameChannel);
    }

    #endregion
}