/**
  * {@inheritdoc}
  */
 public static function fromArray(array $values)
 {
     $message = new self();
     $values = array_merge(['base_capture_rate' => null, 'base_flee_rate' => null, 'collision_radius_m' => null, 'collision_height_m' => null, 'collision_head_radius_m' => null, 'movement_type' => null, 'movement_timer_s' => null, 'jump_time_s' => null, 'attack_timer_s' => null], $values);
     $message->setBaseCaptureRate($values['base_capture_rate']);
     $message->setBaseFleeRate($values['base_flee_rate']);
     $message->setCollisionRadiusM($values['collision_radius_m']);
     $message->setCollisionHeightM($values['collision_height_m']);
     $message->setCollisionHeadRadiusM($values['collision_head_radius_m']);
     $message->setMovementType($values['movement_type']);
     $message->setMovementTimerS($values['movement_timer_s']);
     $message->setJumpTimeS($values['jump_time_s']);
     $message->setAttackTimerS($values['attack_timer_s']);
     return $message;
 }