using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 设置联动
/// </summary>
public class Control_Linkage : MonoBehaviour
{
    /// <summary>
    /// 打开电视时联动
    /// </summary>
    public List<string> OpenTV = new List<string>();
    /// <summary>
    /// 关闭电视时联动
    /// </summary>
    public List<string> CloseTV = new List<string>();
    /// <summary>
    /// 打开空调时联动
    /// </summary>
    public List<string> OpenAir = new List<string>();
    /// <summary>
    /// 关闭空调时联动
    /// </summary>
    public List<string> CloseAir = new List<string>();
    /// <summary>
    /// 保存选择
    /// </summary>
    public Button Enter;
    /// <summary>
    /// 选择条件
    /// </summary>
    public TMP_Dropdown Choosecondition;
    /// <summary>
    /// 选择结果
    /// </summary>
    public TMP_Dropdown Chooseoutcome;
    /// <summary>
    /// 输入的名称
    /// </summary>
    public TMP_InputField InputName;
    /// <summary>
    /// 设置面板
    /// </summary>
    public GameObject SetPanel;
    /// <summary>
    /// 保存后显示的面板
    /// </summary>
    public GameObject ClickPanel;
    /// <summary>
    /// 克隆的按钮
    /// </summary>
    public GameObject CloneButton;
    /// <summary>
    /// 克隆的父物体
    /// </summary>
    public Transform CloneParent;
    void Start()
    {
        InputName.characterLimit = 6;
        Chooseoutcome.AddOptions(OpenAir);
        Choosecondition.onValueChanged.AddListener((value) =>
        {
            Chooseoutcome.options = new List<TMP_Dropdown.OptionData>();
            switch (Choosecondition.captionText.text)
            {
                case "开空调":
                    Chooseoutcome.AddOptions(OpenAir);
                    break;
                case "关空调":
                    Chooseoutcome.AddOptions(CloseAir);
                    break;
                case "开电视":
                    Chooseoutcome.AddOptions(OpenTV);
                    break;
                case "关电视":
                    Chooseoutcome.AddOptions(CloseTV);
                    break;
            }
        });
        Enter.onClick.AddListener(() => { EnterChoose(); });
    }

    public void EnterChoose()
    {
        GameObject go = Instantiate(CloneButton, CloneParent.transform);
        go.name = Choosecondition.captionText.text + "|" + Chooseoutcome.captionText.text;
        go.GetComponentInChildren<TextMeshProUGUI>().text = InputName.text;
        go.SetActive(true);
        SetPanel.SetActive(false);
        ClickPanel.SetActive(true);
    }
}