Kaynağa Gözat

章节套装限制

zhangyuqian 1 yıl önce
ebeveyn
işleme
df35c93bdf
44 değiştirilmiş dosya ile 86 ekleme ve 13 silme
  1. 14 4
      GameClient/Assets/Game/HotUpdate/Controller/MainController.cs
  2. 15 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryChapterUI.cs
  3. 1 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBChapterView.cs
  4. 5 3
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterListView.cs
  5. 25 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs
  6. 24 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryController.cs
  7. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0!a.png
  8. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0.png
  9. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_1!a.png
  10. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_1.png
  11. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_2!a.png
  12. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_2.png
  13. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_3!a.png
  14. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_3.png
  15. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_4!a.png
  16. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_4.png
  17. BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_fui.bytes
  18. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png
  19. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0.png
  20. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png
  21. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png
  22. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png
  23. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10.png
  24. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_11!a.png
  25. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_11.png
  26. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_12!a.png
  27. 1 1
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_12!a.png.meta
  28. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_12.png
  29. 1 1
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_12.png.meta
  30. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3!a.png
  31. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3.png
  32. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_4!a.png
  33. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_4.png
  34. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5!a.png
  35. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5.png
  36. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6!a.png
  37. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6.png
  38. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7!a.png
  39. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7.png
  40. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8!a.png
  41. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8.png
  42. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_9!a.png
  43. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_9.png
  44. BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes

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

@@ -25,18 +25,28 @@ namespace GFGGame
                 else if (!MainStoryDataManager.CheckChapterUnlock(chapterCfg.id))
                 {
                     StoryChapterCfg chapterTowCfg = _chapterCfgs[Mathf.Max(0, i - 1)];
+                    StoryChapterCfg chaptersuitCfg = _chapterCfgs[Mathf.Max(0, i - 2)];
                     var list = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterTowCfg.type, chapterTowCfg.subType, chapterTowCfg.id);
                     StoryLevelCfg lastLevelCfg = list[list.Count - 1];
                     //这里是当下一章没解锁,但是上一章的最后一关已经通过了
-                    if (lastLevelCfg != null && InstanceZonesDataManager.CheckLevelPass(lastLevelCfg.id))//MainStoryDataManager.CheckLevelUnlock(lastLevelCfg.id))
+                    if (lastLevelCfg != null && InstanceZonesDataManager.CheckLevelPass(lastLevelCfg.id))
+                    {
+                        ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });
+                        isOpen = false;
+                        return isOpen;
+                    }
+                    if (StoryController.CheckSuitGot(chaptersuitCfg.suitId))
+                    {
+                        ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id - 1, 0 });
+                        isOpen = false;
+                        return isOpen;
+                    }
+                    else
                     {
                         ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });
                         isOpen = false;
                         return isOpen;
                     }
-                    ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id - 1, 0 });
-                    isOpen = false;
-                    return isOpen;
                 }
             }
             return isOpen;

+ 15 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryChapterUI.cs

@@ -29,6 +29,11 @@ namespace UI.Main
         public GLoader m_switchChapter;
         public GTextField m_ZCJBTimeText;
         public GGroup m_ActivityZCJB;
+        public GLoader m_suitBg;
+        public GTextField m_suitText;
+        public GLoader m_suitIcon;
+        public GTextField m_suitNum;
+        public GGroup m_targetSuit;
         public Transition m_t0;
         public const string URL = "ui://mfvz4q8km7n51u";
         public const string PACKAGE_NAME = "Main";
@@ -99,6 +104,11 @@ namespace UI.Main
             m_switchChapter = (GLoader)comp.GetChild("switchChapter");
             m_ZCJBTimeText = (GTextField)comp.GetChild("ZCJBTimeText");
             m_ActivityZCJB = (GGroup)comp.GetChild("ActivityZCJB");
+            m_suitBg = (GLoader)comp.GetChild("suitBg");
+            m_suitText = (GTextField)comp.GetChild("suitText");
+            m_suitIcon = (GLoader)comp.GetChild("suitIcon");
+            m_suitNum = (GTextField)comp.GetChild("suitNum");
+            m_targetSuit = (GGroup)comp.GetChild("targetSuit");
             m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
@@ -129,6 +139,11 @@ namespace UI.Main
             m_switchChapter = null;
             m_ZCJBTimeText = null;
             m_ActivityZCJB = null;
+            m_suitBg = null;
+            m_suitText = null;
+            m_suitIcon = null;
+            m_suitNum = null;
+            m_targetSuit = null;
             m_t0 = null;
             if(disposeTarget && target != null)
             {

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBChapterView.cs

@@ -125,6 +125,7 @@ namespace GFGGame
             gamey = GameObject.Find("Stage/GRoot/Window - StoryChapterUI/ContentPane/CompChapter/Container/Container");
             _ui.m_chapter.m_compChapterScroll.m_imgBegin.visible = false;
             _ui.m_chapter.m_compChapterScroll.m_nextEffect.visible = false;
+            _ui.m_targetSuit.visible = false;
 
             Timers.inst.StartCoroutine(InitChapter());
 

+ 5 - 3
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterListView.cs

@@ -122,7 +122,8 @@ namespace GFGGame
             }
             else
             {
-                if (MainStoryDataManager.CheckChapterUnlock(chapterID))
+                StoryChapterCfg previousChapterCfg = _chapterCfgs[Mathf.Max(0, index - 1)];
+                if (MainStoryDataManager.CheckChapterUnlock(chapterID) && StoryController.CheckSuitGot(previousChapterCfg.suitId))
                 {
                     //if (chapterIndex == chapterCfg.order)
                     //{
@@ -254,11 +255,12 @@ namespace GFGGame
                 int index = i - 1;
                 int chapterID = (int)listItem.target.data;
                 StoryChapterCfg chapterCfg = _chapterCfgs[index];
+                StoryChapterCfg previousChapterCfg = _chapterCfgs[Mathf.Max(0, index - 1)];
                 int starCountChapter = InstanceZonesDataManager.GetChapterStarCount(chapterCfg.id, chapterCfg.type, chapterCfg.subType);
                 listItem.m_content.m_txtCurProgress.text = starCountChapter.ToString();
                 listItem.m_content.m_txtMaxProgress.text = chapterCfg.bonusStar3.ToString();
                 _ui.m_listChapter.GetChildAt(i).visible = false;
-                if (MainStoryDataManager.CheckChapterUnlock(chapterCfg.id))
+                if (MainStoryDataManager.CheckChapterUnlock(chapterCfg.id) && StoryController.CheckSuitGot(previousChapterCfg.suitId))
                 {
                     listItem.m_content.m_imgLockBg.visible = false;
                     listItem.m_content.m_txtLockDesc.visible = false;
@@ -274,7 +276,7 @@ namespace GFGGame
                     }
                     else
                     {
-                        if (MainStoryDataManager.CheckChapterIsHard(chapterID) && !MainStoryDataManager.CheckNeedChapterPass(chapterID, out var needChapterId))
+                        if (MainStoryDataManager.CheckChapterIsHard(chapterID) && !MainStoryDataManager.CheckNeedChapterPass(chapterID, out var needChapterId) && StoryController.CheckSuitGot(needChapterId))
                         {
                             var needChapterCfg = StoryChapterCfgArray.Instance.GetCfg(needChapterId);
                             listItem.m_content.m_txtLockDesc.text = $"通关第{needChapterCfg.order}章普通剧情后开启";

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

@@ -83,6 +83,7 @@ namespace GFGGame
             _ui.m_btnHome.onClick.Add(OnClickBtnHome);
             _ui.m_switchChapter.onClick.Add(OnClickSwitchBack);
             _ui.m_chapter.m_compChapterScroll.m_imgBegin.onClick.Add(OnClickNext);
+            _ui.m_suitIcon.onClick.Add(OnClickGotoView);
             _ui.m_bonusBox1.target.onClick.Add(() =>
             {
                 OnClickBonusBox(_ui.m_bonusBox1, 0);
@@ -142,6 +143,7 @@ namespace GFGGame
             gamey = GameObject.Find("Stage/GRoot/Window - StoryChapterUI/ContentPane/CompChapter/Container/Container");
             _ui.m_chapter.m_compChapterScroll.m_imgBegin.visible = false;
             _ui.m_chapter.m_compChapterScroll.m_nextEffect.visible = false;
+            _ui.m_targetSuit.visible = false;
 
             Timers.inst.StartCoroutine(InitChapter());
 
@@ -211,6 +213,11 @@ namespace GFGGame
             Timers.inst.Remove(SetContainerY);
             ViewManager.Show<StoryChapterListView>(new object[] {Mathf.Max(0, currentDifficulty) , newIndex });
         }
+        private void OnClickGotoView()
+        {
+            StoryChapterCfg chapterSuitCfg = StoryChapterCfgArray.Instance.GetCfg(_chapterID);
+            ViewManager.Show<ClothingSyntheticView>(new object[] { chapterSuitCfg.suitId});
+        }
 
         private void OnClickBtnHome()
         {
@@ -219,7 +226,8 @@ namespace GFGGame
 
         private void OnClickNext()
         {
-            if (MainStoryDataManager.CheckChapterUnlock(_chapterID+1))
+            StoryChapterCfg chapterSuitCfg = StoryChapterCfgArray.Instance.GetCfg(_chapterID);
+            if (MainStoryDataManager.CheckChapterUnlock(_chapterID+1) && StoryController.CheckSuitGot(chapterSuitCfg.suitId))
             {
                 Timers.inst.Remove(SetContainerY);
                 ViewManager.Show<StoryChapterView>(new object[] { _chapterID+1, currentDifficulty });
@@ -233,7 +241,7 @@ namespace GFGGame
                 }
                 else
                 {
-                    PromptController.Instance.ShowFloatTextPrompt("需通关前置关卡");
+                    PromptController.Instance.ShowFloatTextPrompt("需集齐所需套装");
                 }
                 
             }
@@ -268,6 +276,21 @@ namespace GFGGame
             {
                 _ui.m_chapter.m_compChapterScroll.m_imgBegin.visible = true;
                 _ui.m_chapter.m_compChapterScroll.m_nextEffect.visible = true;
+                if(chapterCfg.suitId > 0 && chapterCfg.subType == 0)
+                {
+                    _ui.m_targetSuit.visible = true;
+                    SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(chapterCfg.suitId);
+                    _ui.m_suitIcon.url = ResPathUtil.GetIconPath(suitCfg.res, "png");
+                    _ui.m_suitText.text = suitCfg.name;
+                    int count;
+                    int totalCount;
+                    DressUpMenuSuitDataManager.GetSuitProgressBySuitId(chapterCfg.suitId, out count, out totalCount);
+                    _ui.m_suitNum.text = count + "/" + totalCount;
+                }
+                else
+                {
+                    _ui.m_targetSuit.visible = false;
+                }
             }
 
             //根据困难程度选择显示图片

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

@@ -45,7 +45,15 @@ namespace GFGGame
                     }
                     else
                     {
-                        ViewManager.Show<StoryChapterListView>(new object[] { index , nextStoryChapterCfg.order},true);
+                        StoryChapterCfg previousChapterCfg = StoryChapterCfgArray.Instance.GetCfg(levelCfg.chapterId);
+                        if(CheckSuitGot(previousChapterCfg.suitId))
+                        {
+                            ViewManager.Show<StoryChapterView>(new object[] { previousChapterCfg.id, 0}, true);
+                        }
+                        else
+                        {
+                            ViewManager.Show<StoryChapterListView>(new object[] { index, nextStoryChapterCfg.order }, true);
+                        }
                     }
                     
                 }
@@ -61,7 +69,21 @@ namespace GFGGame
             }
         }
 
-
+        public static bool CheckSuitGot(int suitID = 0)
+        {
+            if(suitID == 0)
+            {
+                return true;
+            }
+            int count;
+            int totalCount;
+            DressUpMenuSuitDataManager.GetSuitProgressBySuitId(suitID, out count, out totalCount);
+            if(count >= totalCount)
+            {
+                return true;
+            }
+            return false;
+        }
 
         public static void ShowCardStoryDialog(CardStoryCfg cardStoryCfg, CardData cardData)
         {

BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_4!a.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_4.png


BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_10.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_11!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_11.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_12!a.png


+ 1 - 1
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_4!a.png.meta → GameClient/Assets/ResIn/UI/Main/Main_atlas0_12!a.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 0da4325dd4b1baa4a8b19dce7cfe0a5c
+guid: 9ba8b683ecd004a4d85ca067cec09927
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_12.png


+ 1 - 1
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_atlas0_4.png.meta → GameClient/Assets/ResIn/UI/Main/Main_atlas0_12.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: eeb4d50565d3baa4ab61c4ffc5417cd3
+guid: 534cd3a9a0c30214ea1d7c86a0f79cf4
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_4!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_4.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_5!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_5.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_6!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_6.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_7!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_7.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_8!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_8.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_9!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_9.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes