/** * {@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; }