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

public class WandSpawner : MonoBehaviour
{
    public GameObject wandPrefab; // Prefab del wand que será instanciado
    public float spawnHeight = 4f; // Altura de spawn
    public float spawnIntervalMin = 8f; // Tiempo mínimo entre spawns
    public float spawnIntervalMax = 10f; // Tiempo máximo entre spawns

    private PlayerMovement playerMovement; // Referencia al script del jugador

    void Start()
    {
        // Encontrar el script del jugador para acceder a sus vidas
        playerMovement = FindObjectOfType<PlayerMovement>();
        StartCoroutine(SpawnWand());
    }

    IEnumerator SpawnWand()
    {
        while (true)
        {
            // Elegir un tiempo aleatorio para el próximo spawn
            float interval = Random.Range(spawnIntervalMin, spawnIntervalMax);

            // Esperar el tiempo seleccionado
            yield return new WaitForSeconds(interval);

            // Solo spawnear si las vidas del jugador son menores que 3
            if (playerMovement.vidas < 3)
            {
                // Elegir una posición aleatoria en el eje X
                float randomX = Random.Range(-3.5f, 3.5f);

                // Crear el wand en la posición calculada
                Vector3 spawnPosition = new Vector3(randomX, spawnHeight, -1f);
                Quaternion spawnRotation = Quaternion.identity; // Rotación estándar
                Instantiate(wandPrefab, spawnPosition, spawnRotation);
            }
        }
    }
}
