/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['badge_type' => null, 'badge_rank' => null, 'targets' => [], 'capture_reward' => []], $values); $message->setBadgeType($values['badge_type']); $message->setBadgeRank($values['badge_rank']); foreach ($values['targets'] as $item) { $message->addTargets($item); } foreach ($values['capture_reward'] as $item) { $message->addCaptureReward($item); } return $message; }