// Use this for initialization
    void Start()
    {
        GameInfo = GameObject.Find("GameInfo");
        if (GameInfo == null)
        {
            GameInfo = new GameObject("GameInfo");
            GameInfo.AddComponent <GameInfo>();

            Invoke("Start", 0.1f);
            return;
        }
        Cheat_UI.GetComponent <Toggle> ().isOn = GameInfo.GetComponent <GameInfo> ().Cheat;

        int StageNum = GameInfo.GetComponent <GameInfo> ().StageNum;

        for (int i = 0; i < StageNum; i++)
        {
            Stage [i].GetComponent <Stage> ().StageLevel = i + 1;
            Stage [i].GetComponent <Stage> ().Init();
        }


        StageParent.SetActive(true);
        ViewCard.SetActive(true);
        ChooseSkill.SetActive(true);
        Cheat_UI.SetActive(true);

        ReadyToPlay.transform.parent.gameObject.SetActive(false);
        Close.SetActive(false);
        ReadyToUpGrade.SetActive(false);
    }
    public void OnClickCancelUpGrade()
    {
        int GoldNeed = -GameInfo.GetComponent <GameInfo> ().StageList[GameInfo.GetComponent <GameInfo> ().StageLevel - 1].GoldReword;

        Title_UI.GetComponent <Text>().text  = StageSelect.GetComponent <Stage> ().Description;
        Title_UI.GetComponent <Text>().text += "\n当前升级所需花费为" + GoldNeed.ToString() + "金币";

        ReadyToUpGrade.SetActive(false);
        ShowPlayerCard("UpGrade");
    }
    //--------------------------------------------升级卡牌
    public void OnClickDoUpGrade()
    {
        List <CardInfo> Player_CardListHere = GameInfo.GetComponent <GameInfo> ().Player_CardList;

        Player_CardListHere [CardSelected].actionPoint += 1;
        GameInfo.GetComponent <GameInfo> ().Shooping();

        int GoldNeed = -GameInfo.GetComponent <GameInfo> ().StageList[GameInfo.GetComponent <GameInfo> ().StageLevel - 1].GoldReword;

        Title_UI.GetComponent <Text>().text  = StageSelect.GetComponent <Stage> ().Description;
        Title_UI.GetComponent <Text>().text += "\n当前升级所需花费为" + GoldNeed.ToString() + "金币";

        ReadyToUpGrade.SetActive(false);
        ShowPlayerCard("UpGrade");
    }
    //-----------------------------------------返回按钮
    public void OnClickCancel()
    {
        for (int i = Player_CardObjectList.Count; i > 0; i--)
        {
            Player_CardObjectList [i - 1].GetComponent <Card> ().BeDestroied();;
        }
        Player_CardObjectList.Clear();

        StageParent.SetActive(true);
        ViewCard.SetActive(true);
        ChooseSkill.SetActive(true);
        Cheat_UI.SetActive(true);

        Close.SetActive(false);
        ReadyToUpGrade.SetActive(false);
        ReadyToRemove.SetActive(false);
        UnlockSkill.SetActive(false);
        Title_UI.SetActive(false);
        for (int i = 0; i < SkillObjectList.Count; i++)
        {
            SkillObjectList [i].GetComponent <Skill> ().Destroied();
        }
        SkillObjectList.Clear();
    }
    public void OnClickCard(GameObject c)
    {
        string w = c.GetComponent <Card> ().InWhere;

        if (w == "UpGrade")
        {
            for (int i = 0; i < Player_CardObjectList.Count; i++)
            {
                if (Player_CardObjectList[i] == c)
                {
                    CardSelected = i;
                }
            }
            ReadyToUpGrade.SetActive(true);

            for (int i = Player_CardObjectList.Count; i > 0; i--)
            {
                Player_CardObjectList [i - 1].GetComponent <Card> ().BeDestroied();;
            }
            Player_CardObjectList.Clear();

            List <CardInfo> Player_CardListHere = GameInfo.GetComponent <GameInfo> ().Player_CardList;
            string          text_tmp            = "升级卡牌\n";
            int             GoldNeed            = -GameInfo.GetComponent <GameInfo> ().StageList[GameInfo.GetComponent <GameInfo> ().StageLevel - 1].GoldReword;
            text_tmp += Player_CardListHere [CardSelected].actionPoint.ToString() + "-";
            text_tmp += Player_CardListHere [CardSelected].actionColor.ToString() + "-";
            text_tmp += Player_CardListHere [CardSelected].actionType.ToString() + " -> ";
            text_tmp += (Player_CardListHere [CardSelected].actionPoint + 1).ToString() + "-";
            text_tmp += Player_CardListHere [CardSelected].actionColor.ToString() + "-";
            text_tmp += Player_CardListHere [CardSelected].actionType.ToString();
            ReadyToUpGrade.GetComponent <Text> ().text = text_tmp;

            if (GameInfo.GetComponent <GameInfo> ().Gold >= GoldNeed)
            {
                GameObject.Find("UpGradeOK").GetComponent <Button> ().interactable = true;
            }
            else
            {
                GameObject.Find("UpGradeOK").GetComponent <Button> ().interactable = false;
            }
        }
        if (w == "Remove")
        {
            for (int i = 0; i < Player_CardObjectList.Count; i++)
            {
                if (Player_CardObjectList[i] == c)
                {
                    CardSelected = i;
                }
            }
            ReadyToRemove.SetActive(true);

            for (int i = Player_CardObjectList.Count; i > 0; i--)
            {
                Player_CardObjectList [i - 1].GetComponent <Card> ().BeDestroied();;
            }
            Player_CardObjectList.Clear();

            List <CardInfo> Player_CardListHere = GameInfo.GetComponent <GameInfo> ().Player_CardList;
            if (Player_CardListHere.Count <= 7)
            {
                string text_tmp = "牌组数量不能少于7张";
                ReadyToRemove.GetComponent <Text> ().text = text_tmp;
                GameObject.Find("RemoveOK").GetComponent <Button> ().interactable = false;
            }
            else
            {
                int    GoldNeed = -GameInfo.GetComponent <GameInfo> ().StageList[GameInfo.GetComponent <GameInfo> ().StageLevel - 1].GoldReword;
                string text_tmp = "移除卡牌\n";
                text_tmp += Player_CardListHere [CardSelected].actionPoint.ToString() + "-";
                text_tmp += Player_CardListHere [CardSelected].actionColor.ToString() + "-";
                text_tmp += Player_CardListHere [CardSelected].actionType.ToString();
                ReadyToRemove.GetComponent <Text> ().text = text_tmp;

                if (GameInfo.GetComponent <GameInfo> ().Gold >= GoldNeed)
                {
                    GameObject.Find("RemoveOK").GetComponent <Button> ().interactable = true;
                }
                else
                {
                    GameObject.Find("RemoveOK").GetComponent <Button> ().interactable = false;
                }
            }
        }
    }