How do i change the radius in RotateAround ?

Hello,
In my script, I have my player that move around his ennemi with RotateAround.
like this :

{
public GameObject Ennemi;
private float HorizontalMove;
private float VerticalMove;

``````void Start()
{
}

void Update()
{
HorizontalMove = Input.GetAxisRaw("Horizontal");

transform.RotateAround(Ennemi.transform.position, Vector3.up, HorizontalMove);
}
``````

}

And i want to change the radius of the rotation so he can get closer or run away.
How can i do this ? I’m still a begginner in Unity.

My script is attach to my player.

Thank you.

Here , try this

``````using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerRotation : MonoBehaviour {

public Transform Enemy;
private float _horizontalMove;
private float _verticalMove;
private Vector3 _playerPosition;
[SerializeField] private float _radius;

private void Update()
{
_playerPosition = _radius * Vector3.Normalize(  this.transform.position - Enemy.position ) + Enemy.position;
_horizontalMove = Input.GetAxisRaw("Horizontal");
this.transform.position = _playerPosition;
transform.RotateAround(Enemy.position,Vector3.up,_horizontalMove);

}
}
``````

public GameObject Enemy;
public float HorizontalSensitivity = 1;
public float VerticalSensitivity = 1;

``````[Range(1,100)]
public float MinDistanceFromEnemy = 1;

[Range(1,100)]
public float MaxDistanceFromEnemy = 50;

private float HorizontalMove;
private float VerticalMove;

private void Start()
{
VerticalMove = Vector3.Distance( transform.position, Enemy.transform.position );
}

void Update()
{
HorizontalMove = Input.GetAxisRaw( "Horizontal" ) * HorizontalSensitivity;
VerticalMove = Mathf.Clamp( VerticalMove - Input.GetAxisRaw( "Vertical" ) * VerticalSensitivity, MinDistanceFromEnemy, MaxDistanceFromEnemy );
transform.position = Enemy.transform.position + ( transform.position - Enemy.transform.position ).normalized * VerticalMove;
transform.RotateAround( Enemy.transform.position, Vector3.up, HorizontalMove );
}
``````