Пример #1
0
    /// <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);
    }
Пример #2
0
    // 能量最低
    // 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);
    }