using UnityEngine; using Random = UnityEngine.Random; namespace SepCore.EnemyManager { public class RandomCircleSpawnStrategy : ISpawnPositionStrategy { private readonly float _minDistance; private readonly float _maxDistance; public RandomCircleSpawnStrategy(float minDistance, float maxDistance) { _minDistance = minDistance; _maxDistance = maxDistance; } public Vector3 GetSpawnPosition(Transform player) { float x = Random.Range(-1f, 1f); float z = Random.Range(-1f, 1f); Vector3 dir = new Vector3(x, 0f, z).normalized; float distance = Random.Range(_minDistance, _maxDistance); return player.position + dir * distance; } } }