예제 #1
0
 public void attachTo(BattleBuilding building)
 {
     building.units.add(units.count);
     _attachedToBuilding = true;
     _hp = 0;
     units.change(getUnits());
 }
        public void setInfoFrom(BattleBuilding building)
        {
            var damage = building.infoLevel.Damage;

            transform.setFrom(building.transform);
            _damage = building.engine.players.getPlayer(building.ownerId).modifier.calculate(Modifiers.ModifierType.BUILDING_DAMAGE, damage, building.info.Id);
        }
        private void attachUnits(BattleBuilding building, BattleUnit unit)
        {
            unit.attachTo(building);

            var evt = engine.output.enqueueByFactory <UnitAttachedEvent>() as UnitAttachedEvent;

            evt.tick             = tick;
            evt.buildingObjectId = _buildingObjectId;
            evt.unitObjectId     = unit.objectId;
            evt.buildingUnits    = building.units.count;
        }
예제 #4
0
        public void initialize(BattleBuilding from, BattleBuilding to, int unitCount)
        {
            _attachedToBuilding = false;

            setOwnerId(from.ownerId);
            _level     = from.level;
            _info      = engine.configuration.unitRecords.GetBy(from.info.Levels[from.level].UnitId, from.info.Race);
            _infoLevel = _info.Levels[_level];
            _move.moveTo(to.transform);
            transform.setFrom(from.transform);

            _unitHP = engine.players.getPlayer(from.ownerId).modifier.calculate(ModifierType.UNITS_HP, _infoLevel.Hp, _info.Id);
            _hp     = _unitHP * unitCount;
            units.setCount(getUnits());
        }