/// <summary> /// 检测炮弹兵是否满足进阶条件 /// </summary> public bool CheckSoldierJinJie() { Dictionary <int, int> l = new Dictionary <int, int>(); // 是否最高阶 if (ConfigM.GetNextQuality(Quality) == 0) { return(false); } int levelLimit = 0; int equipID1 = 0; int equipID2 = 0; int equipID3 = 0; int equipID4 = 0; int equipID5 = 0; int equipID6 = 0; SoldierM.GetUpQualityNeed(SoldierTypeID, Quality, ref levelLimit, ref equipID1, ref equipID2, ref equipID3, ref equipID4, ref equipID5, ref equipID6); // 等级限制 if (Level < levelLimit) { return(false); } //需要的装备 List <int> lEquipsID = new List <int>(); if (Equipment0 <= 0) { lEquipsID.Add(equipID1); } if (Equipment1 <= 0) { lEquipsID.Add(equipID2); } if (Equipment2 <= 0) { lEquipsID.Add(equipID3); } if (Equipment3 <= 0) { lEquipsID.Add(equipID4); } if (Equipment4 <= 0) { lEquipsID.Add(equipID5); } if (Equipment5 <= 0) { lEquipsID.Add(equipID6); } // 不缺装备 if (lEquipsID.Count == 0) { return(true); } //统计需要的装备 foreach (int itemid in lEquipsID) { ItemTypeInfo ItemInfo = ItemDC.SearchItem(itemid); //检测装备道具是否存在 //检测装备是否存在 if (ItemInfo == null) { return(false); } //检测等级是否满足装备要求 if (Level < ItemInfo.m_level) { return(false); } if (l.ContainsKey(itemid) == false) { l.Add(itemid, 1); } else { l[itemid] = l[itemid] + 1; } } //判断装备数量是否够 foreach (int itemid in l.Keys) { int num = ItemDC.CheckItem(itemid); if (num < l[itemid]) { return(false); } } return(true); }