コード例 #1
0
 /**
  * @param CombatPlayer[] $start
  * @param CombatPlayer[] $end
  * @param CombatParty $party
  * @return CombatParty
  */
 private static function getFleetDifferences($start, $end, $party)
 {
     foreach ($start as $i => $player) {
         $last = $end[$i];
         foreach ($player->getFleets() as $fleet) {
             $combatIndex = $fleet->getCombatIndex();
             $partyPlayer = $party->getPlayerByCombatIndex($combatIndex);
             $partyPlayer->updateFleet($fleet->difference($last->getFleetByCombatIndex($combatIndex)));
         }
     }
     return $party;
 }
コード例 #2
0
ファイル: CombatRound.php プロジェクト: barricas/OGetIt
 /**
  * @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;
 }
コード例 #3
0
ファイル: CombatReport.php プロジェクト: ojgarciab/OGetIt
 /**
  * @param array $defenders
  */
 private function loadDefenders($defenders)
 {
     $players = $this->loadParty($defenders);
     $this->defender_party->setPlayers($players);
 }