Пример #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
    // 耐久最低的友方
    // 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);
    }