/** * Extrait les information de la guilde des donnes de battlnet et et les transforme en objet utilisable de notre coté. * @param type $aDataZoneBnet * @return \Core\Model\Zone * @throws Exception */ public static function extraitZoneDepuisBnetZone($aDataZoneBnet) { if (!isset($aDataZoneBnet)) { throw new \Exception("Les datas pour l'extraction de zone issues de bnet ne peuvent être vide."); } $oZone = new \Commun\Model\Zone(); $oZone->setIdZone($aDataZoneBnet['id']); $oZone->setNom($aDataZoneBnet['name']); $oZone->setIsDonjon($aDataZoneBnet['isDungeon']); $oZone->setIsRaid($aDataZoneBnet['isRaid']); $oZone->setLvlMax($aDataZoneBnet['advisedMinLevel']); $oZone->setLvlMin($aDataZoneBnet['advisedMaxLevel']); $oZone->setPatch($aDataZoneBnet['patch']); $oZone->setModeDifficulte($aDataZoneBnet['availableModes']); $aTaille = explode('-', $aDataZoneBnet['numPlayers']); if (count($aTaille) == 1) { $iTailleMin = $iTailleMax = $aDataZoneBnet['numPlayers']; } else { $iTailleMin = $aTaille[0]; $iTailleMax = $aTaille[1]; } $oZone->setTailleMin($iTailleMin); $oZone->setTailleMax($iTailleMax); return $oZone; }