public function createArmy(Dolumar_Underworld_Map_Locations_Location $location, Dolumar_Underworld_Models_Side $side, array $squads) { if (count($squads) === 0) { return false; } $army = new Dolumar_Underworld_Models_Army(null); $army->setSide($side); $army->setLocation($location); Dolumar_Underworld_Mappers_ArmyMapper::create($this, $army); $players = array(); foreach ($squads as $v) { $army->addSquad($v); $player = $squads[0]->getVillage()->getOwner(); $players[$player->getId()] = $player; } foreach ($players as $player) { $army->promote_nocheck($player); } $this->getMap()->addMapUpdate($location, 'BUILD'); // Notify objective $this->getObjective()->onSpawn($army); return $army; }
private static function getObjectFromReader($data) { $out = new Dolumar_Underworld_Models_Army($data['ua_id']); $out->setData($data); $out->setLocation(new Neuron_GameServer_Map_Location($data['ua_x'], $data['ua_y'])); $out->setSide(new Dolumar_Underworld_Models_Side($data['ua_side'])); return $out; }