Sfoglia il codice sorgente

套装图鉴、合成奖励

guodong 3 anni fa
parent
commit
580d2c1e5f

+ 1 - 1
GameClient/Assets/Editor/Excel/ExcelChecker.cs

@@ -191,7 +191,7 @@ namespace GFGEditor
             {
                 CheckStoryLevelCfgExist(cfg.storyLevelId, "合成SuitSyntheticCfg.storyLevelId");
                 CheckSuitExist(cfg.preSuitId, "合成SuitSyntheticCfg.preSuitId");
-                CheckItemsExist(cfg.boxBonus, "合成SuitSyntheticCfg.boxBonus");
+                CheckItemsExist(cfg.boxBonusArr, "合成SuitSyntheticCfg.boxBonus");
             }
         }
 

+ 1 - 1
GameClient/Assets/Editor/Excel/ItemApproachScanner.cs

@@ -191,7 +191,7 @@ namespace GFGEditor
             SuitSyntheticCfg[] dataArray = manager.dataArray;
             foreach (SuitSyntheticCfg cfg in dataArray)
             {
-                bool result = CheckItemInBonus(itemId, cfg.boxBonus);
+                bool result = CheckItemInBonus(itemId, cfg.boxBonusArr);
                 if (result)
                 {
                     return "TAO_ZHUANG_HE_CHENG";

+ 1 - 1
GameClient/Assets/Game/CSShare

@@ -1 +1 @@
-Subproject commit eea31bf2c5d47194943acc055df6242afa764de6
+Subproject commit f7441b3315b222705addf8076d30d5f635780f1c

+ 17 - 0
GameClient/Assets/Game/HotUpdate/Controller/BonusController.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace GFGGame
+{
+    public class BonusController
+    {
+        public static void ShowBonusList(int[][] bonusInfos)
+        {
+            List<ItemData> bonusList = ItemUtil.CreateItemDataList(bonusInfos);
+            ViewManager.Show(ViewName.GET_BONUS_VIEW, bonusList);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Controller/BonusController.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 174035a34c798dc468f6e1d0aca1ade0
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 5 - 24
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs

@@ -218,20 +218,10 @@ namespace GFGGame
             return status;
         }
 
-        public static void GetSuitGuideBoxBonus(int suitId)
+        public static void SetSuitGuideBoxBonusCompleted(int suitId)
         {
-            int status = ConstBonusStatus.GOT;
-            _suitGuideBoxBonusStatus[suitId] = status;
-            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
-            List<ItemData> itemDatas = ItemUtil.CreateItemDataList(suitCfg.boxBonusArr);
-            foreach (ItemData itemData in itemDatas)
-            {
-                ItemDataManager.Add(itemData.id, itemData.num);
-            }
-            int statusSyn = GetSuitSyntheticBonusStatus(suitId);
-            GameProxy.ReqUpdateSystemSuitBoxStatus(suitId, status, statusSyn);
+            _suitGuideBoxBonusStatus[suitId] = ConstBonusStatus.GOT;
             EventAgent.DispatchEvent(ConstMessage.SUIT_BOX_STATUS_CHANGED, suitId);
-            GetSuitItemController.TryShow(0);
         }
 
         public static int GetSuitSyntheticBonusStatus(int suitId)
@@ -250,20 +240,11 @@ namespace GFGGame
             }
             return status;
         }
-
-        public static void GetSuitSyntheticBoxBonus(int suitId)
+        public static void SetSuitSyntheticBoxBonusCompleted(int suitId)
         {
-            int status = ConstBonusStatus.GOT;
-            _suitSyntheticBoxBonusStatus[suitId] = status;
-            SuitSyntheticCfg suitCfg = SuitSyntheticCfgArray.Instance.GetCfg(suitId);
-            List<ItemData> itemDatas = ItemUtil.CreateItemDataList(suitCfg.boxBonus);
-            foreach (ItemData itemData in itemDatas)
-            {
-                ItemDataManager.Add(itemData.id, itemData.num);
-            }
-            int statusGuide = GetSuitGuideBonusStatus(suitId);
-            GameProxy.ReqUpdateSystemSuitBoxStatus(suitId, statusGuide, status);
+            _suitSyntheticBoxBonusStatus[suitId] = ConstBonusStatus.GOT;
             EventAgent.DispatchEvent(ConstMessage.SUIT_BOX_STATUS_CHANGED, suitId);
         }
+
     }
 }

+ 8 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 13f9569418e9bcc4bbd77145809397e3
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 31 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/MessageHelper.cs

@@ -0,0 +1,31 @@
+using ET;
+using System;
+
+namespace GFGGame
+{
+    public static class MessageHelper
+    {
+        public static async ETTask<IResponse> SendToServer(IActorLocationRequest request, bool showError = true)
+        {
+            IResponse response = null;
+            Session session = GameGlobal.zoneScene.GetComponent<SessionComponent>().Session;
+            try
+            {
+                response = await session.Call(request);
+                if (showError)
+                {
+                    if (response.Error != ErrorCode.ERR_Success)
+                    {
+                        ErrorCodeController.Handler(response.Error);
+                    }
+                }
+                return response;
+            }
+            catch(Exception e)
+            {
+                Log.Error(e.ToString());
+                return null;
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/MessageHelper.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d29938afb348e0d45a058d90c3f1b7f5
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 38 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/SuitServerProxy.cs

@@ -0,0 +1,38 @@
+using ET;
+
+namespace GFGGame
+{
+    public static class SuitServerProxy
+    {
+        public static async ETTask GetSuitGuideBoxBonus(int suitId)
+        {
+            M2C_GetSuitGuideBoxBonus m2C_GetSuitGuideBoxBonus = null;
+            m2C_GetSuitGuideBoxBonus = (M2C_GetSuitGuideBoxBonus)await MessageHelper.SendToServer(new C2M_GetSuitGuideBoxBonus() { SuitId = suitId });
+            if (m2C_GetSuitGuideBoxBonus != null)
+            {
+                if(m2C_GetSuitGuideBoxBonus.Error == ErrorCode.ERR_Success)
+                {
+                    DressUpMenuSuitDataManager.SetSuitGuideBoxBonusCompleted(m2C_GetSuitGuideBoxBonus.SuitId);
+                    SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
+                    BonusController.ShowBonusList(suitCfg.boxBonusArr);
+                }
+            }
+        }
+        public static async ETTask GetSuitSyntheticBoxBonus(int suitId)
+        {
+            M2C_GetSuitSyntheticBoxBonus m2C_GetSuitSyntheticBoxBonus = null;
+            m2C_GetSuitSyntheticBoxBonus = (M2C_GetSuitSyntheticBoxBonus)await MessageHelper.SendToServer(new C2M_GetSuitSyntheticBoxBonus() { SuitId = suitId });
+            if (m2C_GetSuitSyntheticBoxBonus != null)
+            {
+                if (m2C_GetSuitSyntheticBoxBonus.Error == ErrorCode.ERR_Success)
+                {
+                    DressUpMenuSuitDataManager.SetSuitSyntheticBoxBonusCompleted(m2C_GetSuitSyntheticBoxBonus.SuitId);
+                    SuitSyntheticCfg suitCfg = SuitSyntheticCfgArray.Instance.GetCfg(suitId);
+                    BonusController.ShowBonusList(suitCfg.boxBonusArr);
+                }
+            }
+        }
+    }
+}
+
+

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/SuitServerProxy.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 22faaacf8a8365e46a3f7e553b5400d7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Utils/SuitUtil.cs

@@ -293,7 +293,7 @@ namespace GFGGame
             }
             void GetBonus()
             {
-                DressUpMenuSuitDataManager.GetSuitGuideBoxBonus(suitId);
+                SuitServerProxy.GetSuitGuideBoxBonus(suitId).Coroutine();
             }
             ViewManager.Show(ViewName.BONUS_BOX_DETAIL_VIEW, new object[] { itemDatas, new GetBoxBonusStatusCall(GetStatus), new GetBoxBonusCall(GetBonus) });
         }
@@ -301,14 +301,14 @@ namespace GFGGame
         public static void ShowSuitSyntheticBonus(int suitId)
         {
             SuitSyntheticCfg suitCfg = SuitSyntheticCfgArray.Instance.GetCfg(suitId);
-            List<ItemData> itemDatas = ItemUtil.CreateItemDataList(suitCfg.boxBonus);
+            List<ItemData> itemDatas = ItemUtil.CreateItemDataList(suitCfg.boxBonusArr);
             int GetStatus()
             {
                 return DressUpMenuSuitDataManager.GetSuitSyntheticBonusStatus(suitId);
             }
             void GetBonus()
             {
-                DressUpMenuSuitDataManager.GetSuitSyntheticBoxBonus(suitId);
+                SuitServerProxy.GetSuitSyntheticBoxBonus(suitId).Coroutine();
             }
             ViewManager.Show(ViewName.BONUS_BOX_DETAIL_VIEW, new object[] { itemDatas, new GetBoxBonusStatusCall(GetStatus), new GetBoxBonusCall(GetBonus) });
         }

BIN
GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes