فهرست منبع

红点问题,章节问题

zhangyuqian 1 سال پیش
والد
کامیت
0986cd2165

+ 13 - 4
GameClient/Assets/Game/HotUpdate/Controller/MainController.cs

@@ -18,10 +18,19 @@ namespace GFGGame
                 StoryChapterCfg chapterCfg = _chapterCfgs[i];
                 if (i == _chapterCfgs.Count - 1 && MainStoryDataManager.CheckChapterUnlock(chapterCfg.id))
                 {
-                    MainStoryDataManager.currentChapterCfgId = chapterCfg.id;
-                    ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id, 0 });
-                    isOpen = false;
-                    return isOpen;
+                    if (StoryController.CheckSuitGot(_chapterCfgs[i-1].suitId))
+                    {
+                        MainStoryDataManager.currentChapterCfgId = chapterCfg.id;
+                        ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id, 0 });
+                        isOpen = false;
+                        return isOpen;
+                    }
+                    else
+                    {
+                        ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });
+                        isOpen = false;
+                        return isOpen;
+                    }
                 }
                 else if (!MainStoryDataManager.CheckChapterUnlock(chapterCfg.id))
                 {

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -27,6 +27,7 @@ namespace GFGGame
 
         public List<ArenaHistoryData> HistoryDatas = new List<ArenaHistoryData>(); //获取竞技场历史记录
 
+        public Dictionary<int,int> GradeRewardStateDic = new Dictionary<int, int>(); //段位奖励数据
         /*************************************************************************************************************************************/
         // public Dictionary<int, Texture2D> TextureDic = new Dictionary<int, Texture2D>();
         public List<int> roundTime = new List<int>();

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Data/MainStoryDataManager.cs

@@ -196,6 +196,11 @@ namespace GFGGame
         {
             foreach(var item in ChapterRewardStatusDic)
             {
+                StoryChapterCfg chapterRewardCfg = StoryChapterCfgArray.Instance.GetCfg(item.Key);
+                if(chapterRewardCfg.type == 1 && chapterRewardCfg.subType == 1)
+                {
+                    continue;
+                }
                 if(item.Value == 1)
                 {
                     return true;

+ 19 - 0
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -138,6 +138,25 @@ namespace GFGGame
         }
 
         /// <summary>
+        /// 判断所有章节是否有奖励可领
+        /// </summary>
+        /// <returns></returns>
+        public bool GetChapterRed()
+        {
+            for (int i = 0; i < StoryChapterCfgArray.Instance.dataArray.Length; i++)
+            {
+                for (int j = 0; j < 3; j++)
+                {
+                    int state = MainStoryDataManager.GetChapterBonusStatus(StoryChapterCfgArray.Instance.dataArray[i].id, j);
+                    if (state == ConstBonusStatus.CAN_GET)
+                    {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        }
+        /// <summary>
         /// 根据章节Id判断是否有奖励可领
         /// </summary>
         /// <returns></returns>

+ 37 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -486,5 +486,42 @@ namespace GFGGame
             }
             return true;
         }
+        //获取段位奖励状态
+        public static async ETTask<bool> ReqGetSeasonGradeRewardStatus()
+        {
+            var response = (S2C_GetSeasonGradeRewardStatus)await MessageHelper.SendToServer(new C2S_GetSeasonGradeRewardStatus() { RoleId = RoleDataManager.roleId});
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            for (int i = 0; i < response.RewardStatusKs.Count; i++)
+            {
+                if(ArenaDataManager.Instance.GradeRewardStateDic.ContainsKey(response.RewardStatusKs[i]))
+                {
+                    ArenaDataManager.Instance.GradeRewardStateDic[response.RewardStatusKs[i]] = response.RewardStatusVs[i];
+                }
+                else
+                {
+                    ArenaDataManager.Instance.GradeRewardStateDic.Add(response.RewardStatusKs[i] , response.RewardStatusVs[i]);
+                }
+            }
+            return true;
+        }
+        //获取段位奖励
+        public static async ETTask<bool> ReqGetSeasonGradeReward(int grade)
+        {
+            var response = (S2C_GetSeasonGradeReward)await MessageHelper.SendToServer(new C2S_GetSeasonGradeReward() { RoleId = RoleDataManager.roleId,Grade = grade  });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            for (int i = 0; i < response.RewardStatusKs.Count; i++)
+            {
+                if (ArenaDataManager.Instance.GradeRewardStateDic.ContainsKey(response.RewardStatusKs[i]))
+                {
+                    ArenaDataManager.Instance.GradeRewardStateDic[response.RewardStatusKs[i]] = response.RewardStatusVs[i];
+                }
+                else
+                {
+                    ArenaDataManager.Instance.GradeRewardStateDic.Add(response.RewardStatusKs[i], response.RewardStatusVs[i]);
+                }
+            }
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            return true;
+        }
     }
 }

+ 9 - 1
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelView.cs

@@ -211,7 +211,15 @@ namespace GFGGame
                 //}
                 item.m_c1.selectedIndex = TimeTracingDataManager.Instance.GetChapterRewardIDStatus(datas[i].id, datas[i].paramsArr[0]);
                 RedDotController.Instance.SetComRedDot(item.target, TimeTracingDataManager.Instance.GetChapterRewardIDStatus(datas[i].id, datas[i].paramsArr[0]) == 1, "", -10, 25);
-                item.m_icon.url = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(datas[i].bonusArr[0][0]).res, "png");
+                ItemCfg itemcfg = ItemCfgArray.Instance.GetCfg(datas[i].bonusArr[0][0]);
+                if(itemcfg.itemType == ConstItemType.HEAD)
+                {
+                    item.m_icon.url = ResPathUtil.GetHeadBorderPath(itemcfg.res);
+                }
+                else
+                {
+                    item.m_icon.url = ResPathUtil.GetIconPath(itemcfg.res, "png");
+                }        
                 item.m_count.text = datas[i].count.ToString();
                 if (item.target.data == null)
                 {