/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['incense_lifetime_seconds' => null, 'pokemon_type' => [], 'pokemon_incense_type_probability' => null, 'standing_time_between_encounters_seconds' => null, 'moving_time_between_encounter_seconds' => null, 'distance_required_for_shorter_interval_meters' => null, 'pokemon_attracted_length_sec' => null], $values); $message->setIncenseLifetimeSeconds($values['incense_lifetime_seconds']); $message->setPokemonIncenseTypeProbability($values['pokemon_incense_type_probability']); $message->setStandingTimeBetweenEncountersSeconds($values['standing_time_between_encounters_seconds']); $message->setMovingTimeBetweenEncounterSeconds($values['moving_time_between_encounter_seconds']); $message->setDistanceRequiredForShorterIntervalMeters($values['distance_required_for_shorter_interval_meters']); $message->setPokemonAttractedLengthSec($values['pokemon_attracted_length_sec']); foreach ($values['pokemon_type'] as $item) { $message->addPokemonType($item); } return $message; }