using System.Collections;
using UnityEngine;

public class RandomPrefabSpawner : MonoBehaviour
{
   public GameObject prefab; // Oluşturulacak prefab
    public float startX = 0f; // İlk prefab'ın X pozisyonu
    public float yMin = -3f; // Y eksenindeki minimum pozisyon
    public float yMax = 3f; // Y eksenindeki maksimum pozisyon
    public float spawnInterval = 3f; // Oluşturma aralığı (saniye)
    public float xStep = 5f; // X ekseninde bir sonraki prefab için mesafe

    private float currentX; // Bir sonraki prefab'ın X pozisyonu

    void Start()
    {
        // Başlangıç X pozisyonunu ayarla
        currentX = startX;

        // Coroutine başlat
        StartCoroutine(SpawnPrefabWithInterval());
    }

    IEnumerator SpawnPrefabWithInterval()
    {
        while (true)
        {
            // Prefab oluştur
            SpawnPrefab();

            // Belirli bir süre bekle
            yield return new WaitForSeconds(spawnInterval);
        }
    }

    void SpawnPrefab()
    {
        // Rastgele bir Y pozisyonu belirle
        float randomY = Random.Range(yMin, yMax);

        // Yeni prefab pozisyonu
        Vector3 spawnPosition = new Vector3(currentX, randomY, 0);

        // Prefab'ı oluştur
        Instantiate(prefab, spawnPosition, Quaternion.identity);

        // X pozisyonunu bir sonraki için güncelle
        currentX += xStep;
    }
}
