示例#1
0
        private void AddEquipBuff(ushort equipID, uint buffID, ushort buffGroupID, uint equipBuyPrice, uint sequence)
        {
            CEquipBuffInfoGroup group = null;

            if (this.m_equipBuffInfoMap.ContainsKey(buffGroupID))
            {
                this.m_equipBuffInfoMap.TryGetValue(buffGroupID, out group);
            }
            else
            {
                group = new CEquipBuffInfoGroup(buffGroupID);
                this.m_equipBuffInfoMap.Add(buffGroupID, group);
            }
            group.m_isChanged = true;
            ListView <CEquipBuffInfo> equipBuffInfos = group.m_equipBuffInfos;
            CEquipBuffInfo            item           = null;

            for (int i = 0; i < equipBuffInfos.Count; i++)
            {
                if (equipBuffInfos[i].m_isNeedRemoved && equipBuffInfos[i].IsEqual(buffID, buffGroupID))
                {
                    item = equipBuffInfos[i];
                    item.m_isNeedRemoved = false;
                    item.m_equipID       = equipID;
                    item.m_equipBuyPrice = (CrypticInt32)equipBuyPrice;
                    item.m_sequence      = sequence;
                    break;
                }
            }
            if (item == null)
            {
                item = new CEquipBuffInfo(equipID, equipBuyPrice, buffID, buffGroupID, sequence);
                equipBuffInfos.Add(item);
            }
        }
示例#2
0
 private void UpdateEquipBuff(CEquipBuffInfoGroup equipBuffInfoGroup)
 {
     if (equipBuffInfoGroup.m_isChanged)
     {
         ListView <CEquipBuffInfo> equipBuffInfos = equipBuffInfoGroup.m_equipBuffInfos;
         int index = 0;
         while (index < equipBuffInfos.Count)
         {
             if (equipBuffInfos[index].m_isNeedRemoved)
             {
                 this.DisableEquipBuff(equipBuffInfos[index]);
                 equipBuffInfos.RemoveAt(index);
             }
             else
             {
                 index++;
             }
         }
         if (equipBuffInfoGroup.m_groupID == 0)
         {
             for (int i = 0; i < equipBuffInfos.Count; i++)
             {
                 this.EnableEquipBuff(equipBuffInfos[i]);
             }
         }
         else
         {
             equipBuffInfos.Sort();
             for (int j = 0; j < equipBuffInfos.Count; j++)
             {
                 if (j == (equipBuffInfos.Count - 1))
                 {
                     this.EnableEquipBuff(equipBuffInfos[j]);
                 }
                 else
                 {
                     this.DisableEquipBuff(equipBuffInfos[j]);
                 }
             }
         }
         equipBuffInfoGroup.m_isChanged = false;
     }
 }
示例#3
0
        private void RemoveEquipBuff(ushort equipID, uint buffID, ushort buffGroupID)
        {
            CEquipBuffInfoGroup group = null;

            if (this.m_equipBuffInfoMap.ContainsKey(buffGroupID))
            {
                this.m_equipBuffInfoMap.TryGetValue(buffGroupID, out group);
                group.m_isChanged = true;
                ListView <CEquipBuffInfo> equipBuffInfos = group.m_equipBuffInfos;
                for (int i = 0; i < equipBuffInfos.Count; i++)
                {
                    if (((equipBuffInfos[i].m_equipID == equipID) && (equipBuffInfos[i].m_buffID == buffID)) && (equipBuffInfos[i].m_buffGroupID == buffGroupID))
                    {
                        equipBuffInfos[i].m_isNeedRemoved = true;
                        break;
                    }
                }
            }
        }