/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['activity_type' => [], 'xp' => [], 'candy' => [], 'stardust' => []], $values); foreach ($values['activity_type'] as $item) { $message->addActivityType($item); } foreach ($values['xp'] as $item) { $message->addXp($item); } foreach ($values['candy'] as $item) { $message->addCandy($item); } foreach ($values['stardust'] as $item) { $message->addStardust($item); } return $message; }