From 406e6d485ce67acb8667c5e72eb858644d8efdbf Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 20 八月 2018 09:47:35 +0800
Subject: [PATCH] Merge branch 'master' into DogzDungeon

---
 System/Dogz/DogzModel.cs |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 106 insertions(+), 5 deletions(-)

diff --git a/System/Dogz/DogzModel.cs b/System/Dogz/DogzModel.cs
index 6c2fbb9..c50516b 100644
--- a/System/Dogz/DogzModel.cs
+++ b/System/Dogz/DogzModel.cs
@@ -18,7 +18,10 @@
         public void OnBeforePlayerDataInitialize()
         {
             addAssistCnt = 0;
-            dogzAssistStateDict.Clear();
+            SelectDogzItemQuality = 0;
+            SelectDogzItemStart = 0;
+            dogzItemList = new List<ItemModel>();
+            dogzAssistStateDict = new Dictionary<int, int>();
         }
 
         public void OnAfterPlayerDataInitialize()
@@ -43,8 +46,10 @@
         public int DogzAssistDefaultCnt { get; private set; }  //鍔╂垬绁炲吔鎬绘暟
         public int DogzAssistMaxCnt { get; private set; }//鍔╂垬绁炲吔鏈�澶ф暟
         public int AddAssistItem { get; private set; } //澧炲姞鍔╂垬绁炲吔鎬绘暟鐨勭墿鍝両d
+        public int DogzPackGridCnt { get; private set; } //绁炲吔鐗╁搧鑳屽寘鏍煎瓙鏁�
         public int[] AddAssistItemCnt { get; private set; } //澧炲姞鍔╂垬绁炲吔鎬绘暟鐨勭墿鍝佹暟閲�
         public Dictionary<int, int> m_DogzEquipStrenLimit { get; private set;} //绁炲吔瑁呭寮哄寲涓婇檺 鍝佽川 寮哄寲绛夌骇
+
         void ParseConfig()
         {
             var _dogzCfgs = ConfigManager.Instance.GetAllValues<DogzConfig>();
@@ -64,8 +69,9 @@
             AddAssistItem = int.Parse(_funcCfg.Numerical2);
             AddAssistItemCnt = ConfigParse.GetMultipleStr<int>(_funcCfg.Numerical3);
             m_DogzEquipStrenLimit = ConfigParse.GetDic<int, int>(_funcCfg.Numerical4);
+            _funcCfg = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("DogzPack");
+            DogzPackGridCnt = int.Parse(_funcCfg.Numerical1);
         }
-
         /// <summary>
         /// 鑾峰緱鏍煎瓙鍙互绌挎埓鐨勮澶囬檺鍒�  绁炲吔Id  鏍煎瓙绱㈠紩 
         /// </summary>
@@ -153,10 +159,14 @@
         {
             addAssistCnt = info.BuyHelpbattleCount;
             DogzAssistDefaultCnt += addAssistCnt;
+            if (UpdateAssistDogzEvent != null)
+            {
+                UpdateAssistDogzEvent();
+            }
         }
 
         public event Action UpdateAssistDogzEvent;
-        Dictionary<int, int> dogzAssistStateDict = new Dictionary<int, int>(); //绁炲吔鍔╂垬
+        public Dictionary<int, int> dogzAssistStateDict { get; private set; } //绁炲吔鍔╂垬
         public void SetServerAssistDogzState(HA3C1_tagMCDogzHelpbattleState info)
         {
             if(!dogzAssistStateDict.ContainsKey(info.DogzID))
@@ -196,7 +206,7 @@
 
         public void SetDogzEquipInfo()
         {
-            m_DogzEquipDict.Clear();
+            m_DogzEquipDict = new Dictionary<int, List<ItemModel>>();
             SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptDogzEquip);
             if (singlePack == null) return;
 
@@ -219,6 +229,7 @@
             }
         }
 
+        public Action<int> RefreshDogzEquipAct;
         private void RefreshDogzEquipInfo(PackType type, int index, int id)
         {
             if (type != PackType.rptDogzEquip) return;
@@ -247,12 +258,18 @@
                     }
                 }
             }
+
+            if(RefreshDogzEquipAct != null)
+            {
+                RefreshDogzEquipAct(dogzId);
+            }
         }
 
         /// <summary>
         /// 鑾峰緱绁炲吔绌挎埓鐨勮澶囨暟鎹�
         /// </summary>
-        private Dictionary<int, List<ItemModel>> m_DogzEquipDict = new Dictionary<int, List<ItemModel>>();
+        public Dictionary<int, List<ItemModel>> m_DogzEquipDict { get; private set; }
+
         public List<ItemModel> GetDogzEquips(int _dogzId)
         {
             List<ItemModel> _list = null;
@@ -298,6 +315,90 @@
             return false;
         }
 
+        public void SendPutOnEquip(int dogzId,int index)
+        {
+            CA5C0_tagCMDogzEquipItem dogzPutOn = new CA5C0_tagCMDogzEquipItem();
+            dogzPutOn.DogzID = (byte)dogzId;
+            dogzPutOn.EquipIndex = (byte)index;
+            GameNetSystem.Instance.SendInfo(dogzPutOn);
+        }
+
+        public void SendPutOffEquip(int dogzId, int equipPlace)
+        {
+            CA5C1_tagCMDogzUnEquipItem dogzPutOff = new CA5C1_tagCMDogzUnEquipItem();
+            dogzPutOff.DogzID = (byte)dogzId;
+            dogzPutOff.EquipPlace = (byte)equipPlace;
+            GameNetSystem.Instance.SendInfo(dogzPutOff);
+        }
+
+        public void SendChangeDogzAssist(int dogzId, int assistState)
+        {
+            CA5C2_tagCMDogzBattleStateChange stateChange = new CA5C2_tagCMDogzBattleStateChange();
+            stateChange.DogzID = (byte)dogzId;
+            stateChange.BatteState = (byte)assistState;
+            GameNetSystem.Instance.SendInfo(stateChange);
+        }
+
+        public void SendBuyAssistCnt()
+        {
+            CA5C3_tagCMDogzBuyBatteCount buyCnt = new CA5C3_tagCMDogzBuyBatteCount();
+            GameNetSystem.Instance.SendInfo(buyCnt);
+        }
+
+        public void SendDogzEquipStrength(int index,List<int>indexlist,int isDouble)
+        {
+            CA5C4_tagCMDogzEquipPlus dogzStren = new CA5C4_tagCMDogzEquipPlus();
+            dogzStren.EquipIndex = (byte)index;
+            dogzStren.IndexCount = (byte)indexlist.Count;
+            byte[] indexByte = new byte[indexlist.Count];
+            for(int i = 0; i < indexByte.Length; i++)
+            {
+                indexByte[i] = (byte)indexlist[i];
+            }
+            dogzStren.IndexList = indexByte;
+            dogzStren.IsDouble = (byte)isDouble;
+            GameNetSystem.Instance.SendInfo(dogzStren);
+        }
+
+        #endregion
+
+        #region 绁炲吔鑳屽寘鐗╁搧
+        public int SelectDogzItemQuality { get; set; }
+        public int SelectDogzItemStart { get; set; }
+        public List<ItemModel> dogzItemList { get; private set; }
+        public List<ItemModel> GetDogzItemList()
+        {
+            dogzItemList.Clear();
+            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptDogzItem);
+            if (singlePack == null) return dogzItemList;
+
+            Dictionary<int, ItemModel> pairs = singlePack.GetPackModelIndexDict();
+           foreach(var value in pairs.Values)
+            {
+                if(IsReachSelectCondi(value.itemId))
+                {
+                    dogzItemList.Add(value);
+                }
+            }
+
+            return dogzItemList;
+        }
+
+        public bool IsReachSelectCondi(int itemId)
+        {
+            ItemConfig itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(itemId);
+            if (itemConfig == null) return false;
+
+            if (SelectDogzItemQuality == 0 && SelectDogzItemStart == 0) return true;
+
+            if (SelectDogzItemQuality == 0 && itemConfig.StarLevel == SelectDogzItemStart) return true;
+
+            if (SelectDogzItemQuality == itemConfig.ItemColor && SelectDogzItemStart == 0) return true;
+
+            if (SelectDogzItemQuality == itemConfig.ItemColor && SelectDogzItemStart == itemConfig.StarLevel) return true;
+
+            return false;
+        }
         #endregion
 
         #region 瑁呭璇︾粏淇℃伅

--
Gitblit v1.8.0