Browse Source

Merge remote-tracking branch 'remotes/origin/guodong' into zhaoyang

zhaoyang 3 years ago
parent
commit
87d460b82d

+ 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 a6625952c1ef85ea5f1983f52661c0bbc6caa048
+Subproject commit c692aea37165383607a1c58afb1dfdfdaf9d9ad9

+ 0 - 9
GameClient/Assets/Game/HotUpdate/Constant/ConstBonusStatus.cs

@@ -1,9 +0,0 @@
-namespace GFGGame
-{
-    public class ConstBonusStatus
-    {
-        public const int CAN_NOT_GET = 0;
-        public const int CAN_GET = 1;
-        public const int GOT = 2;
-    }
-}

+ 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);
+        }
+    }
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Constant/ConstBonusStatus.cs.meta → GameClient/Assets/Game/HotUpdate/Controller/BonusController.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: f7254e1eb7152744284b59ba784a38ed
+guid: 174035a34c798dc468f6e1d0aca1ade0
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -76,7 +76,6 @@ namespace GFGGame
             //CustomSuitDataManager.InitServerData(roleInfo.suitIndex, result.roleSuitList);
             //StoryDataManager.InitServerData(roleInfo);
             //GuideDataManager.InitServerData(result.roleGuideList);
-            //DressUpMenuSuitDataManager.InitServerData(result.systemSuitList);
             //CardDataManager.InitServerData(result.roleCardList);
             //SkillDataManager.Instance.InitServerData(result.roleSkillList);
             //SkillDataManager.Instance.SetDicPassivitySkillCfg();
@@ -170,6 +169,7 @@ namespace GFGGame
             //GameProxy.ReqGetStoryStarList();
 
             ItemHelper.GetItemAttributeInfos().Coroutine();
+            SuitFosterHelper.SendGetSuitInfos().Coroutine();
         }
 
         public static void PrepareUpdateTreasure()

+ 11 - 37
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs

@@ -24,23 +24,12 @@ namespace GFGGame
             _progressByItemIdDic.Clear();
         }
 
-        public static void InitServerData(List<SystemSuit> systemSuitList)
-        {
-            _suitGuideBoxBonusStatus.Clear();
-            _suitSyntheticBoxBonusStatus.Clear();
-            if (systemSuitList != null)
-            {
-                foreach (SystemSuit systemSuit in systemSuitList)
-                {
-                    _suitGuideBoxBonusStatus.Add(systemSuit.suitId, systemSuit.boxStatus);
-                    _suitSyntheticBoxBonusStatus.Add(systemSuit.suitId, systemSuit.boxStatusSyn);
-                }
-            }
-        }
         public static void SetSuitInfo(List<SuitInfoProto> suitInfoList)
         {
             if (suitInfoList != null)
             {
+                _suitGuideBoxBonusStatus.Clear();
+                _suitSyntheticBoxBonusStatus.Clear();
                 foreach (SuitInfoProto suitInfo in suitInfoList)
                 {
                     SuitFosterData suitFosterData = new SuitFosterData()
@@ -51,6 +40,10 @@ namespace GFGGame
                         makeNewState = suitInfo.MakeNewState
                     };
                     SuitFosterDataManager.Instance.InitServerData(suitFosterData);
+                    //图鉴
+                    _suitGuideBoxBonusStatus.Add(suitInfo.SuitId, suitInfo.GuideBoxBonusState);
+                    //合成
+                    _suitSyntheticBoxBonusStatus.Add(suitInfo.SuitId, suitInfo.SyntheticBoxBonusState);
                 }
                 EventAgent.DispatchEvent(ConstMessage.GET_SUIT_INFOS);
             }
@@ -225,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)
@@ -257,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);
         }
+
     }
 }

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

@@ -398,7 +398,6 @@ namespace GFGGame
                     fistPassLastLvl = true;
                 }
                 SetPassData(tempPassChapter, tempPassLevel);
-                // FunctionOpenDataManager.Instance.CheckHasChapterFunOpen(_passChapter + 1, _passLevel);//首次通过要检查是否有功能开启
                 //GameProxy.ReqUpdateStoryProgress(_passChapter, _passLevel, _passChapterJY, _passLevelJY);
                 currentBonusList = StoryBonusDataCache.GetBonusList(currentLevelID, true, true);
             }

+ 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) });
         }

+ 17 - 0
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitGuideView.cs

@@ -2,6 +2,7 @@ using FairyGUI;
 using UI.FieldGuide;
 using UI.CommonGame;
 using System.Collections.Generic;
+using UI.ClothingSynthetic;
 
 namespace GFGGame
 {
@@ -53,6 +54,7 @@ namespace GFGGame
             UpdateListType();
 
             EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdateSuitStatus);
+            EventAgent.AddEventListener(ConstMessage.SUIT_BOX_STATUS_CHANGED, UpdateSuitBoxStatus);
         }
 
         protected override void OnHide()
@@ -60,6 +62,7 @@ namespace GFGGame
             base.OnHide();
             _valueBarController.OnHide();
             EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, UpdateSuitStatus);
+            EventAgent.RemoveEventListener(ConstMessage.SUIT_BOX_STATUS_CHANGED, UpdateSuitBoxStatus);
         }
 
         private void OnClickListTypeItem()
@@ -102,6 +105,20 @@ namespace GFGGame
             UpdateListSuit();
         }
 
+        private void UpdateSuitBoxStatus(EventContext eventContext)
+        {
+            int suitId = (int)eventContext.data;
+            int num = _ui.m_listSuit.numChildren;
+            for (int i = 0; i < num; i++)
+            {
+                UI_CompSuitItem listItem = UI_CompSuitItem.Proxy(_ui.m_listSuit.GetChildAt(i));
+                int tempSuitId = (int)listItem.target.data;
+                if (tempSuitId == suitId)
+                {
+                    UpdateSuitStatusView(listItem);
+                }
+            }
+        }
         private void UpdateListType()
         {
             _ui.m_listType.RemoveChildrenToPool();

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