public void _Init()
    {
        if (Lock_4 == null)
        {
            Lock_4  = Lock_4_obj.GetComponent <ButtonScale>();
            Lock_8  = Lock_8_obj.GetComponent <ButtonScale>();
            Lock_12 = Lock_12_obj.GetComponent <ButtonScale>();
        }
        LevelViewbs levelView = null;
        GameObject  name      = null;
        string      levelName = "";

        for (int idx = 0; idx < BattleMgr.Instance.Genlevel.Count; idx++)
        {
            if (idx > 0)
            {
                return;
            }
            switch (idx)
            {
            case 0:
                name = commonBack_obj;
                break;

            case 1:
                name = eliteBack_obj;
                break;

            case 2:
                name = epicBack_obj;
                break;
            }
            ChapterDic.Add(new List <GameObject>());
            for (int idx1 = 0; idx1 < BattleMgr.Instance.Genlevel[idx].Count; idx1++)
            {
                string chapter = string.Format("level_{0}", ((idx + 1) * 100 + (idx1 + 1)));
                ChapterDic[idx].Add(name.transform.Find(chapter).gameObject);
                for (int idx2 = 0; idx2 < BattleMgr.Instance.Genlevel[idx][idx1].GenStage.Count; idx2++)
                {
                    levelName = string.Format("stage_{0}", BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2].LevelID);
                    string level = String.Concat(name.name, "/", chapter, "/level/", levelName);
                    levelView        = commonBack_obj.transform.parent.transform.Find(level).GetComponent <LevelViewbs>();
                    levelView.isZeki = BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2].isZeki;
                    levelView.Init();
                    Genlevel.Add(BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2].LevelID, levelView);
                    if (BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2].StarCount != 0 || (idx == 0 && idx1 == 0 && idx2 == 0))
                    {
                        Genlevel[BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2].LevelID].CloseBtn.enabled = true;
                        if (idx2 + 1 < BattleMgr.Instance.Genlevel[idx][idx1].GenStage.Count)
                        {
                            switch (idx)
                            {
                            case 0:
                                if (BattleMgr.Instance.NowLevelId >= 10301)
                                {
                                    break;
                                }
                                BattleMgr.Instance.NowLevelId = BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2 + 1].LevelID;
                                elite_tog.interactable        = true;
                                break;

                            case 1:
                                BattleMgr.Instance.EliteLevelId = BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2 + 1].LevelID;
                                epic_tog.interactable           = true;
                                break;

                            case 2:
                                BattleMgr.Instance.EpicLevelId = BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2 + 1].LevelID;
                                break;
                            }
                        }
                        else
                        {
                            if (idx1 + 1 >= BattleMgr.Instance.Genlevel[idx].Count)
                            {
                                break;
                            }
                            ;
                            if (BattleMgr.Instance.Genlevel[idx][idx1 + 1].GenStage.Count == 0)
                            {
                                break;
                            }
                            switch (idx)
                            {
                            case 0:
                                for (int i = 0; i < BattleMgr.Instance.Genlevel[idx][idx1 + 1].GenStage.Count; i++)
                                {
                                    BattleMgr.Instance.NowLevelId = BattleMgr.Instance.Genlevel[idx][idx1 + 1].GenStage[0].LevelID;
                                    if (BattleMgr.Instance.Genlevel[idx][idx1 + 1].GenStage[i].StarCount != 0)
                                    {
                                        BattleMgr.Instance.NowLevelId = BattleMgr.Instance.Genlevel[idx][idx1 + 1].GenStage[i].LevelID;
                                    }
                                }
                                break;

                            case 1:
                                BattleMgr.Instance.EliteLevelId = BattleMgr.Instance.Genlevel[idx][idx1 + 1].GenStage[0].LevelID;
                                break;

                            case 2:
                                BattleMgr.Instance.EpicLevelId = BattleMgr.Instance.Genlevel[idx][idx1 + 1].GenStage[0].LevelID;
                                break;
                            }
                        }

                        ChapterDic[idx][idx1].SetActive(true);
                        // battleName = ChapterDic[idx][idx1].transform.Find("battleName").gameObject;
                    }
                    else
                    {
                        Genlevel[BattleMgr.Instance.Genlevel[idx][idx1].GenStage[idx2].LevelID].CloseBtn.enabled = false;
                    }
                }
            }
        }
    }
    /// <summary>
    /// 更新奖励星条
    /// </summary>
    /// <param name="_type">类型</param>
    /// <param name="_section">章节</param>
    public void InitStar(int _type, int _section)
    {
        if (BattleMgr.Instance.Genlevel[_type][_section].StarCount > 12)
        {
            BattleMgr.Instance.Genlevel[_type][_section].StarCount = 12;
        }

        double sum   = (double)(1.0 / 12);
        double count = BattleMgr.Instance.Genlevel[_type][_section].StarCount * sum;

        if (Slider_slider.value <= 1)
        {
            Slider_slider.value = (float)count;
        }

        if (BattleMgr.Instance.Genlevel[_type][_section].StarCount == 0)
        {
            Slider_slider.value = 0;
            Lock_4_obj.SetActive(true);
            Clear_4_btn.gameObject.SetActive(false);
            Open_4_obj.gameObject.SetActive(false);
            Lock_8_obj.gameObject.SetActive(true);
            Clear_8_btn.gameObject.SetActive(false);
            Open_8_obj.gameObject.SetActive(false);
            Lock_12_obj.gameObject.SetActive(true);
            Clear_12_btn.gameObject.SetActive(false);
            Open_12_obj.gameObject.SetActive(false);
        }
        BattleData data = JsonMgr.GetSingleton().GetChapter((BattleMgr.Instance.SectionKey + 1) * 100 + (BattleMgr.Instance.SectionChapter + 1));

        Vector2Int[] award  = { new Vector2Int(2000, 1000 + _section), new Vector2Int(2001, 10000 + _section) };
        Vector2Int[] award1 = { new Vector2Int(2001, 1000 + _section), new Vector2Int(2002, 10000 + _section) };
        Vector2Int[] award2 = { new Vector2Int(2003, 1000 + _section), new Vector2Int(2004, 10000 + _section) };


        if (Lock_4.rect == null)
        {
            Lock_4.rect  = Lock_4_obj.transform.parent.GetComponent <RectTransform>();
            Lock_8.rect  = Lock_8_obj.transform.parent.GetComponent <RectTransform>();
            Lock_12.rect = Lock_12_obj.transform.parent.GetComponent <RectTransform>();
        }
        Lock_4.ItemData  = award;
        Lock_4.isShow    = true;
        Lock_8.ItemData  = award1;
        Lock_8.isShow    = true;
        Lock_12.ItemData = award2;
        Lock_12.isShow   = true;
        if (BattleMgr.Instance.Genlevel[_type][_section].StarCount >= 4 && BattleMgr.Instance.Genlevel[_type][_section].isGet_4 == false)
        {
            Lock_4_obj.SetActive(false);
            Clear_4_btn.gameObject.SetActive(true);
        }
        else if (BattleMgr.Instance.Genlevel[_type][_section].isGet_4 != false)
        {
            Clear_4_btn.gameObject.SetActive(false);
            Lock_4_obj.SetActive(false);
            Open_4_obj.SetActive(true);
        }
        else if (BattleMgr.Instance.Genlevel[_type][_section].isGet_4 == false)
        {
            Clear_4_btn.gameObject.SetActive(false);
            Lock_4_obj.SetActive(true);
            Open_4_obj.SetActive(false);
        }

        if (BattleMgr.Instance.Genlevel[_type][_section].StarCount >= 8 && BattleMgr.Instance.Genlevel[_type][_section].isGet_8 == false)
        {
            Lock_8_obj.gameObject.SetActive(false);
            Clear_8_btn.gameObject.SetActive(true);
        }
        else if (BattleMgr.Instance.Genlevel[_type][_section].isGet_8 != false)
        {
            Lock_8_obj.gameObject.SetActive(false);
            Clear_8_btn.gameObject.SetActive(false);
            Open_8_obj.SetActive(true);
        }
        else if (BattleMgr.Instance.Genlevel[_type][_section].isGet_8 == false)
        {
            Clear_8_btn.gameObject.SetActive(false);
            Lock_8_obj.SetActive(true);
            Open_8_obj.SetActive(false);
        }

        if (BattleMgr.Instance.Genlevel[_type][_section].StarCount == 12 && BattleMgr.Instance.Genlevel[_type][_section].isGet_12 == false)
        {
            Lock_12_obj.gameObject.SetActive(false);
            Clear_12_btn.gameObject.SetActive(true);
        }
        else if (BattleMgr.Instance.Genlevel[_type][_section].isGet_12 != false)
        {
            Lock_12_obj.gameObject.SetActive(false);
            Clear_12_btn.gameObject.SetActive(false);
            Open_12_obj.SetActive(true);
        }
        else if (BattleMgr.Instance.Genlevel[_type][_section].isGet_12 == false)
        {
            Clear_12_btn.gameObject.SetActive(false);
            Lock_12_obj.SetActive(true);
            Open_12_obj.SetActive(false);
        }

        Existing_txt.text = BattleMgr.Instance.Genlevel[_type][_section].StarCount.ToString();
    }