Example #1
0
 /**
  * @param CombatFleet $updatedFleet
  */
 public function updateFleet(CombatFleet $updatedFleet)
 {
     foreach ($this->fleets as $i => $fleet) {
         if ($fleet->getCombatIndex() === $updatedFleet->getCombatIndex()) {
             $this->fleets[$i] = $updatedFleet;
             break;
         }
     }
 }
Example #2
0
 /**
  * @param array $rawPlayers
  */
 private function loadParty($rawPlayers)
 {
     $playerIdMapping = array();
     $players = array();
     foreach ($rawPlayers as $combat_index => $fleetData) {
         $rawPlayer = $fleetData['fleet_owner'];
         $playerId = isset($playerIdMapping[$rawPlayer]) ? $playerIdMapping[$rawPlayer] : false;
         //Check if player already exists, if not create it & add it
         if ($playerId === false) {
             $playerId = $this->player_id_count++;
             $playerIdMapping[$rawPlayer] = $playerId;
             $players[$playerId] = new CombatPlayer($rawPlayer, $playerId);
             $players[$playerId]->setCombatTechnologies($fleetData['fleet_armor_percentage'], $fleetData['fleet_shield_percentage'], $fleetData['fleet_weapon_percentage']);
             $players[$playerId]->setAlliance(new Alliance($fleetData['fleet_owner_alliance_tag'], $fleetData['fleet_owner_alliance']));
         }
         $player = $players[$playerId];
         $planet = new Planet($fleetData['fleet_owner_planet_type'], $fleetData['fleet_owner_coordinates'], $fleetData['fleet_owner_planet_name']);
         $fleet = new CombatFleet($planet, $combat_index);
         foreach ($fleetData['fleet_composition'] as $rawTechnology) {
             $technology = TechnologyFactory::create($rawTechnology['ship_type']);
             $fleet->addTechnologyState($technology, $rawTechnology['count']);
         }
         $player->addFleet($fleet);
     }
     return $players;
 }