Пример #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);
    }