/** * Parse a block from an array * @param array $data * * @return Block|null */ private function parseBlock(array $data) { $block = new Block(); $block->setItemSet($this->itemSet); //Type if (isset($data['type'])) { $block->setType($data['type']); } else { $block->setType("Block"); } //RecMath if (isset($data['recMath'])) { $block->setRecMath(new \SplBool(@(bool) $data['recMath'])); } //MinSummonerLevel if (isset($data['minSummonerLevel'])) { $block->setMinSummonerLevel(new \SplInt(@(int) $data['minSummonerLevel'])); } //MaxSummonerLevel if (isset($data['maxSummonerLevel'])) { $block->setMaxSummonerLevel(new \SplInt(@(int) $data['maxSummonerLevel'])); } //showIfSummonerSpell if (isset($data['showIfSummonerSpell'])) { $spell = $this->summonerSpellList->getSpell($data['showIfSummonerSpell']); if ($spell != null) { $block->setShowIfSummonerSpell($spell); } } //hideIfSummonerSpell if (isset($data['hideIfSummonerSpell'])) { $spell = $this->summonerSpellList->getSpell($data['hideIfSummonerSpell']); if ($spell != null) { $block->setHideIfSummonerSpell($spell); } } //Comments if (isset($data['comment'])) { $block->setComment($data['comment']); } if (isset($data['items'])) { ksort($data['items']); $block->setItems($this->parseItems($data['items'], $block)); } if (empty($block->getItems())) { return null; } return $block; }