Ejemplo n.º 1
0
 /**
  * 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;
     }
 }