/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['template_id' => null, 'pokemon_settings' => null, 'item_settings' => null, 'move_settings' => null, 'move_sequence_settings' => null, 'type_effective' => null, 'badge_settings' => null, 'camera' => null, 'player_level' => null, 'gym_level' => null, 'battle_settings' => null, 'encounter_settings' => null, 'iap_item_display' => null, 'iap_settings' => null, 'pokemon_upgrades' => null, 'equipped_badges' => null, 'quest_settings' => null], $values); $message->setTemplateId($values['template_id']); $message->setPokemonSettings($values['pokemon_settings']); $message->setItemSettings($values['item_settings']); $message->setMoveSettings($values['move_settings']); $message->setMoveSequenceSettings($values['move_sequence_settings']); $message->setTypeEffective($values['type_effective']); $message->setBadgeSettings($values['badge_settings']); $message->setCamera($values['camera']); $message->setPlayerLevel($values['player_level']); $message->setGymLevel($values['gym_level']); $message->setBattleSettings($values['battle_settings']); $message->setEncounterSettings($values['encounter_settings']); $message->setIapItemDisplay($values['iap_item_display']); $message->setIapSettings($values['iap_settings']); $message->setPokemonUpgrades($values['pokemon_upgrades']); $message->setEquippedBadges($values['equipped_badges']); $message->setQuestSettings($values['quest_settings']); return $message; }