/**
  * {@inheritdoc}
  */
 public static function fromArray(array $values)
 {
     $message = new self();
     $values = array_merge(['pokemon_id' => null, 'item' => null, 'pokedex_entry_id' => null, 'player_stats' => null, 'player_currency' => null, 'player_camera' => null, 'inventory_upgrades' => null, 'applied_items' => null, 'egg_incubators' => null, 'pokemon_family_id' => null, 'quest_type' => null], $values);
     $message->setPokemonId($values['pokemon_id']);
     $message->setItem($values['item']);
     $message->setPokedexEntryId($values['pokedex_entry_id']);
     $message->setPlayerStats($values['player_stats']);
     $message->setPlayerCurrency($values['player_currency']);
     $message->setPlayerCamera($values['player_camera']);
     $message->setInventoryUpgrades($values['inventory_upgrades']);
     $message->setAppliedItems($values['applied_items']);
     $message->setEggIncubators($values['egg_incubators']);
     $message->setPokemonFamilyId($values['pokemon_family_id']);
     $message->setQuestType($values['quest_type']);
     return $message;
 }