/** * Extrait les bosses des donnes de battlnet et les transforme en objet utilisable de notre coté. * @param type $aDataZoneBnet * @param \Core\Model\Zone $oZone * @param array $aOptionFiltre lvlMin| * @return array de \Core\Model\Personnages * @throws Exception */ public static function extraitBossDepuisBnetZone($aDataZoneBnet, \Commun\Model\Zone $oZone) { if (!isset($aDataZoneBnet)) { throw new Exception("Les datas pour l'extraction de zone issues de bnet ne peuvent être vide."); } $aBoss = array(); if (isset($aDataZoneBnet['bosses'])) { foreach ($aDataZoneBnet['bosses'] as $aBosse) { $oBoss = new \Commun\Model\Bosses(); $oBoss->setIdBosses($aBosse['id']); $oBoss->setNom($aBosse['name']); $oBoss->setLevel($aBosse['level']); $oBoss->setVie($aBosse['health']); $aNpc = array(); if (isset($aBosse['npcs'])) { foreach ($aBosse['npcs'] as $aNpcBnet) { $oNpc = new \Commun\Model\Npc(); $oNpc->setIdNpc($aNpcBnet['id']); $oNpc->setNom($aNpcBnet['name']); $aNpc[] = $oNpc; } } $oBoss->setNpc($aNpc); $aBoss[] = $oBoss; } return $aBoss; } }