public List <DataStage> stageList;                                                                              //보유한 스테이지

        public DataChapter(int number, bool isHard, NetData.StageStarRewardData rewardData, List <DataStage> stageList) //int totalClearGrade,
        {
            IsHard        = isHard;
            this.name     = _LowDataMgr.instance.GetStringStageData(stageList[0]._StageLowData.ChapName);
            GetClearGrade = rewardData.Value;

            StarReward     = _LowDataMgr.instance.GetLowDataChapterReward((byte)number, (byte)(IsHard ? 2 : 1));
            CurRewardBoxID = rewardData.BoxID;

            this.number    = number;
            this.stageList = stageList;
        }
    /// <summary> 테이블 데이터 셋팅 </summary>
    void SetDataTable(List <DataChapter> dataList, uint addStageId)
    {
        Dictionary <uint, NetData.ClearSingleStageData> clearStageDic = NetData.instance.GetUserInfo().ClearSingleStageDic;

        bool curStage = false;

        int chapCount  = addStageId >= 10000 ? 6 : (int)SystemDefine.MaxChapter;
        int stageCount = addStageId >= 10000 ? 3 : (int)SystemDefine.MaxChapter;

        //일반 스테이지
        for (int i = 0; i < /*SystemDefine.MaxChapter*/ chapCount; i++)
        {
            int chapterNumber   = i + 1;
            int totalClearGrade = 0;

            List <DataStage> stageList = new List <DataStage>();

            for (int j = 0; j < /*SystemDefine.MaxStage*/ stageCount; j++)
            {
                DataStage data = new DataStage();

                byte[] clearGrade = new byte[3];
                short  state      = 0;//1;//클리어한 지역.

                uint stageId    = addStageId + (uint)((chapterNumber * 100) + (j + 1));
                int  clearCount = 0;
                NetData.ClearSingleStageData clearStageData = null;
                if (!clearStageDic.TryGetValue(stageId, out clearStageData))
                {
                    //추후에 살려놔야함 지금은 모든걸 오픈
                    if (!curStage)
                    {
                        curStage = true;
                        state    = 0;
                    }
                    else//활성화 되지 않은 지역.
                    {
                        state = -1;
                    }
                }
                else
                {
                    state = 1;

                    clearGrade[0] = clearStageData.Clear_0;
                    clearGrade[1] = clearStageData.Clear_1;
                    clearGrade[2] = clearStageData.Clear_2;

                    totalClearGrade += clearStageData.Clear_0 + clearStageData.Clear_1 + clearStageData.Clear_2;
                    clearCount       = clearStageData.DailyClearCount;
                }

                if (data.InitStageData(stageId, clearGrade, state, clearCount))
                {
                    stageList.Add(data);
                }
                else//어려움일 경우 이럴수 있다 아니라면 문제가있는것.
                {
                    break;
                }
            }

            if (stageList.Count <= 0)
            {
                break;
            }

            NetData.StageStarRewardData rewardData = new NetData.StageStarRewardData();
            DataChapter dataChap = new DataChapter(chapterNumber, stageList[0]._StageLowData.type == 2, rewardData, stageList);//totalClearGrade,
            dataList.Add(dataChap);
        }
    }