少年修仙传客户端代码仓库
client_linchunjie
2018-09-26 9ee6fe853c33f10db9cd17312618d454609dc024
System/Dogz/DogzModel.cs
@@ -521,11 +521,19 @@
            }
        }
        public void SendPutOnEquip(int index)
        public void SendPutOnEquip(List<int> indexlist)
        {
            if (indexlist == null || indexlist.Count < 1) return;
            CA5C0_tagCMDogzEquipItem dogzPutOn = new CA5C0_tagCMDogzEquipItem();
            dogzPutOn.DogzID = (byte)presentSelectDogz;
            dogzPutOn.EquipIndex = (byte)index;
            dogzPutOn.EquipIndexCount = (byte)indexlist.Count;
            byte[] indexBytes = new Byte[indexlist.Count];
            for(int i = 0; i < indexBytes.Length; i++)
            {
                indexBytes[i] = (byte)indexlist[i];
            }
            dogzPutOn.EquipIndexList = indexBytes;
            GameNetSystem.Instance.SendInfo(dogzPutOn);
        }
@@ -592,7 +600,7 @@
                    dogzItemList.Add(value);
                }
            }
            dogzItemList.Sort(CompareByDogzItemPack);
            return dogzItemList;
        }
@@ -610,6 +618,23 @@
            if (SelectDogzItemQuality == itemConfig.ItemColor && SelectDogzItemStart == itemConfig.StarLevel) return true;
            return false;
        }
        public int CompareByDogzItemPack(ItemModel start,ItemModel end)
        {
            int x = start.chinItemModel.EquipPlace;
            int y = end.chinItemModel.EquipPlace;
            if (x.CompareTo(y) != 0) return x.CompareTo(y);
            x = start.chinItemModel.ItemColor;
            y = end.chinItemModel.ItemColor;
            if (x.CompareTo(y) != 0) return -x.CompareTo(y);
            x = start.chinItemModel.StarLevel;
            y = end.chinItemModel.StarLevel;
            if (x.CompareTo(y) != 0) return -x.CompareTo(y);
            x = start.equipScore;
            y = end.equipScore;
            if (x.CompareTo(y) != 0) return -x.CompareTo(y);
            return 0;
        }
        public List<ItemModel> selectEquipPlacelist { get; private set; }
@@ -738,13 +763,24 @@
            bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
            if(!isMaxAssistNum)
            {
                int minAlreadyAssistId = 0;
                foreach (var dogzId in m_DogzEquipLimit.Keys)
                {
                    if (TryGetAssistDogzState(dogzId)
                        && ((minAlreadyAssistId < dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                    {
                        minAlreadyAssistId = dogzId;
                    }
                }
                int maxDogzId = 0;
                foreach(var dogzId in m_DogzEquipLimit.Keys)
                {
                    var equips = GetDogzEquips(dogzId);
                    int equipNum = equips == null ? 0 : equips.Count;
                    if(equipNum >= 5 && maxDogzId < dogzId
                        && !TryGetAssistDogzState(dogzId))
                        && !TryGetAssistDogzState(dogzId)
                        && ((minAlreadyAssistId != 0 && dogzId > minAlreadyAssistId) || minAlreadyAssistId == 0))
                    {
                        maxDogzId = dogzId;
                    }
@@ -852,8 +888,7 @@
                foreach (var dogzId in m_DogzEquipLimit.Keys)
                {
                    if(TryGetAssistDogzState(dogzId)
                        && minAlreadyAssistId != 0
                        && minAlreadyAssistId < dogzId)
                        && ((minAlreadyAssistId < dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                    {
                        minAlreadyAssistId = dogzId;
                    }