/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['result' => null, 'items_awarded' => [], 'items_unlocked' => []], $values); $message->setResult($values['result']); foreach ($values['items_awarded'] as $item) { $message->addItemsAwarded($item); } foreach ($values['items_unlocked'] as $item) { $message->addItemsUnlocked($item); } return $message; }