/// <summary> /// 同步所有单位的属性 /// </summary> private void SyncAllUnitAttr() { proto.S2CSyncUnitAttr attrList = new proto.S2CSyncUnitAttr(); for (int i = 0; i < EntityManager.Instance.AttackUnitList.Count; ++i) { proto.UnitAttri attr = new proto.UnitAttri(); ShipEntity entity = EntityManager.Instance.AttackUnitList[i] as ShipEntity; attr.unitid = entity.ID; attr.durablility = entity.GetDurability(); attr.armor = entity.GetArmouredShield(); attr.energy = entity.GetEnergyShield(); attrList.add_unitattrlist(attr); } for (int i = 0; i < EntityManager.Instance.DefenderUnitList.Count; ++i) { proto.UnitAttri attr = new proto.UnitAttri(); ShipEntity entity = EntityManager.Instance.DefenderUnitList[i] as ShipEntity; attr.unitid = entity.ID; attr.durablility = entity.GetDurability(); attr.armor = entity.GetArmouredShield(); attr.energy = entity.GetEnergyShield(); attrList.add_unitattrlist(attr); } BattleSys.OnSyncUnitAttr(attrList); }
// 耐久最低的友方 // DurabilityLowestFriend类型的具体实现 private static void GetDurabilityLowestTarget(ShipEntity caster, List <Entity> entityList, ref List <ShipEntity> targetList) { int minDurability = int.MaxValue; int targetIndex = 0; for (int i = 0; i < entityList.Count; ++i) { ShipEntity targetEntity = entityList[i] as ShipEntity; if (minDurability > targetEntity.GetDurability()) { targetIndex = i; minDurability = targetEntity.GetDurability(); } } targetList.Add(EntityManager.Instance.AttackUnitList[targetIndex] as ShipEntity); }