/// <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); }
// 能量最低 // EnergyLowestFriend 具体实现 private static void GetEnergyLowestTarget(ShipEntity caster, List <Entity> entityList, ref List <ShipEntity> targetList) { int minArmor = int.MaxValue; int targetIndex = 0; for (int i = 0; i < entityList.Count; ++i) { ShipEntity targetEntity = entityList[i] as ShipEntity; if (minArmor > targetEntity.GetArmouredShield()) { targetIndex = i; minArmor = targetEntity.GetArmouredShield(); } } targetList.Add(entityList[targetIndex] as ShipEntity); }