ソースを参照

修改限时摘星活动的ID读取方式

leiyasi 1 年間 前
コミット
2534c2c4d8

+ 25 - 3
GameClient/Assets/Game/HotUpdate/Data/StudioDataManager.cs

@@ -15,7 +15,7 @@ namespace GFGGame
 
         public int filingChapterId;//查阅建档当前副本Id
         public int npcFilingChapterId;//记录查阅建档工作室入口id,为与限时活动章节做区分。
-        public int luckyBoxFilingChapterId;//查阅建档这个章节是限时抽奖活动专属
+        private int luckyBoxFilingChapterId;//查阅建档这个章节是限时抽奖活动专属
 
         public int PorcelainTheme = 1;//瓷器修复当天主题
 
@@ -102,7 +102,17 @@ namespace GFGGame
             {
                 needStoryLevelId = storyLevelCfg.needStoryLevelId;
             }
-            bool isPass = InstanceZonesDataManager.CheckLevelPass(needStoryLevelId);
+
+            bool isPass;
+            if (needStoryLevelId == 0)
+            {
+                isPass = true;
+            }
+            else
+            {
+                isPass = InstanceZonesDataManager.CheckLevelPass(needStoryLevelId);
+            }
+            
             StoryLevelCfg needStoryLevelCfg = StoryLevelCfgArray.Instance.GetCfg(needStoryLevelId);
             if (!isPass && needStoryLevelCfg != null) content = string.Format("完成主线{0}-{1}解锁", needStoryLevelCfg.chapterId, needStoryLevelCfg.order);
 
@@ -210,7 +220,19 @@ namespace GFGGame
 
         public bool IsluckyBoxFilingChapter()
         {
-            return filingChapterId == luckyBoxFilingChapterId;
+            return filingChapterId == GetLuckyBoxActivityID();
+        }
+
+        public int GetLuckyBoxActivityID()
+        {
+            if (luckyBoxFilingChapterId == 0)
+            {
+                int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitLuckyBox);
+
+                ActivityOpenCfg activityCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+                luckyBoxFilingChapterId = activityCfg.params3Arr != null ? activityCfg.params3Arr[0] : 0;
+            }
+            return luckyBoxFilingChapterId;
         }
 
     }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/InstanceZonesSProxy.cs

@@ -50,7 +50,7 @@ namespace GFGGame
                         if(filingCfg.suitId != 0)
                         {
                             SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(filingCfg.suitId);
-                            if (suitCfg.syntheticStoryLevelId == levelCfgId && levelCfgId != StudioDataManager.Instance.luckyBoxFilingChapterId)
+                            if (suitCfg.syntheticStoryLevelId == levelCfgId && levelCfgId != StudioDataManager.Instance.GetLuckyBoxActivityID())
                             {
                                 PromptController.Instance.ShowFloatTextPrompt(string.Format("已解锁{0}套装制作", suitCfg.name));
                             }

+ 1 - 2
GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxView.cs

@@ -62,7 +62,6 @@ namespace GFGGame
             _ui.target.GetTransition("In_" + _activityId.ToString())?.Play();
             _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(_activityId);
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath(_activityCfg.res);
-            StudioDataManager.Instance.luckyBoxFilingChapterId = _activityCfg.params3Arr != null ? _activityCfg.params3Arr[0] : 0;
 
             UpdateEffect();
             UpdateRedDot();
@@ -99,7 +98,7 @@ namespace GFGGame
         }
         private void OnBtnChapterClick()
         {
-            ViewManager.Show<StudioFilingView>(StudioDataManager.Instance.luckyBoxFilingChapterId, new object[] { typeof(ActivityThemeLuckyBoxView).FullName, this.viewData });
+            ViewManager.Show<StudioFilingView>(StudioDataManager.Instance.GetLuckyBoxActivityID(), new object[] { typeof(ActivityThemeLuckyBoxView).FullName, this.viewData });
         }
         private void OnBtnLuckyBoxClick()
         {

+ 8 - 1
GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs

@@ -225,7 +225,14 @@ namespace GFGGame
                         if (studioCfg.funId == typeof(StudioFilingView).Name)
                         {
                             StudioDataManager.Instance.filingChapterId = studioCfg.id;
-                            ViewManager.Show<StudioFilingView>(null, _fromViewDatas);
+                            if (StudioDataManager.Instance.IsluckyBoxFilingChapter())
+                            {
+                                ViewManager.Show<StudioFilingView>(studioCfg.id, _fromViewDatas);
+                            }
+                            else
+                            {
+                                ViewManager.Show<StudioFilingView>(null, _fromViewDatas);
+                            }
                             MainStoryDataManager.currentLevelCfgId = levelCfg.id;
                             InstanceZonesController.ShowLevelView(levelCfg.id, StudioDataManager.Instance.OnFinishFilingStoryLevel, _itemId, _needCount);
                             isJump = true;

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -303,7 +303,7 @@ namespace GFGGame
             {
                 if (StudioDataManager.Instance.IsluckyBoxFilingChapter())
                 {
-                    ViewManager.Show<StudioFilingView>(StudioDataManager.Instance.luckyBoxFilingChapterId, ViewManager.GetGoBackDatas(typeof(StudioFilingView).FullName));
+                    ViewManager.Show<StudioFilingView>(StudioDataManager.Instance.GetLuckyBoxActivityID(), ViewManager.GetGoBackDatas(typeof(StudioFilingView).FullName));
                 }
                 else
                 {

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryLevelInfoView.cs

@@ -106,7 +106,7 @@ namespace GFGGame
                 }
                 else
                 {
-                    if (levelCfg.type == ConstInstanceZonesType.Studio && levelCfg.chapterId != StudioDataManager.Instance.luckyBoxFilingChapterId)
+                    if (levelCfg.type == ConstInstanceZonesType.Studio && levelCfg.chapterId != StudioDataManager.Instance.GetLuckyBoxActivityID())
                     {
                         var studioCfg = StudioCfgArray.Instance.GetCfg(levelCfg.chapterId);
                         ViewManager.Show<StudioBuyNumView>(studioCfg.limit);
@@ -145,7 +145,7 @@ namespace GFGGame
                 }
                 else
                 {
-                    if (levelCfg.type == ConstInstanceZonesType.Studio && levelCfg.chapterId != StudioDataManager.Instance.luckyBoxFilingChapterId)
+                    if (levelCfg.type == ConstInstanceZonesType.Studio && levelCfg.chapterId != StudioDataManager.Instance.GetLuckyBoxActivityID())
                     {
                         var studioCfg = StudioCfgArray.Instance.GetCfg(levelCfg.chapterId);
                         ViewManager.Show<StudioBuyNumView>(studioCfg.limit);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Studio/StudioFilingView.cs

@@ -230,7 +230,7 @@ namespace GFGGame
                 PromptController.Instance.ShowFloatTextPrompt(string.Format("需通关{0}关卡解锁", cfg.name));
                 return;
             }
-            if (_viewData == StudioDataManager.Instance.luckyBoxFilingChapterId)
+            if (_viewData == StudioDataManager.Instance.GetLuckyBoxActivityID())
             {
                 int _activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitLuckyBox);
                 ActivityOpenCfg _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(_activityId);