private void SetRandomSpeed(Enemy enemy) { Vector3 centerDirection = _circleCenter.position - enemy.transform.position; float deflectionAmplitude = Mathf.Asin(_radius / centerDirection.magnitude); float deflection = Random.Range(-deflectionAmplitude, deflectionAmplitude); Movable movableComponent = enemy.GetComponent <Movable>(); movableComponent.Speed = centerDirection.normalized; movableComponent.IncreaseSpeedVector(Random.Range(MinSpeed, MaxSpeed)); movableComponent.RotateSpeedVector(deflection); }