/** * @param array $fleetDetails * @param CombatParty $party * @return CombatPlayer[] */ private function createFleets($fleetDetails, $party) { $players = array(); foreach ($party->getPlayers() as $player) { $clone = clone $player; foreach ($clone->getFleets() as $fleet) { $fleetData = $fleetDetails[$fleet->getCombatIndex()]; foreach ($fleetData as $type => $techData) { $lost = isset($techData['lost']) ? $techData['lost'] : 0; $fleet->addTechnologyState(TechnologyFactory::create($type), $techData['ships'], $lost); } } $players[$player->getId()] = $clone; } return $players; }