/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['next_camera' => null, 'interpolation' => [], 'target_type' => [], 'ease_in_speed' => [], 'east_out_speed' => [], 'duration_seconds' => [], 'wait_seconds' => [], 'transition_seconds' => [], 'angle_degree' => [], 'angle_offset_degree' => [], 'pitch_degree' => [], 'pitch_offset_degree' => [], 'roll_degree' => [], 'distance_meters' => [], 'height_percent' => [], 'vert_ctr_ratio' => []], $values); $message->setNextCamera($values['next_camera']); foreach ($values['interpolation'] as $item) { $message->addInterpolation($item); } foreach ($values['target_type'] as $item) { $message->addTargetType($item); } foreach ($values['ease_in_speed'] as $item) { $message->addEaseInSpeed($item); } foreach ($values['east_out_speed'] as $item) { $message->addEastOutSpeed($item); } foreach ($values['duration_seconds'] as $item) { $message->addDurationSeconds($item); } foreach ($values['wait_seconds'] as $item) { $message->addWaitSeconds($item); } foreach ($values['transition_seconds'] as $item) { $message->addTransitionSeconds($item); } foreach ($values['angle_degree'] as $item) { $message->addAngleDegree($item); } foreach ($values['angle_offset_degree'] as $item) { $message->addAngleOffsetDegree($item); } foreach ($values['pitch_degree'] as $item) { $message->addPitchDegree($item); } foreach ($values['pitch_offset_degree'] as $item) { $message->addPitchOffsetDegree($item); } foreach ($values['roll_degree'] as $item) { $message->addRollDegree($item); } foreach ($values['distance_meters'] as $item) { $message->addDistanceMeters($item); } foreach ($values['height_percent'] as $item) { $message->addHeightPercent($item); } foreach ($values['vert_ctr_ratio'] as $item) { $message->addVertCtrRatio($item); } return $message; }