using UnityEngine; namespace Aula11 { public class GeradorPortais : MonoBehaviour { [Header("Referências")] [SerializeField] private GameObject prefabPortal; [SerializeField] private ControladorJogo controladorJogo; [Header("Tempo")] [Min(0.1f)] [SerializeField] private float intervalo = 2.4f; [Min(0f)] [SerializeField] private float atrasoInicial = 1f; [Header("Posição")] [SerializeField] private float posicaoX = 10f; [SerializeField] private float alturaMinima = -1.2f; [SerializeField] private float alturaMaxima = 1.2f; private float tempoAteProximo; private void Update() { if (controladorJogo == null || prefabPortal == null || !controladorJogo.PartidaAtiva) return; if (!controladorJogo.PartidaIniciada) { tempoAteProximo = atrasoInicial; return; } tempoAteProximo -= Time.deltaTime; if (tempoAteProximo > 0f) return; float altura = Random.Range(alturaMinima, alturaMaxima); Instantiate(prefabPortal, new Vector3(posicaoX, altura, 0f), Quaternion.identity, transform); tempoAteProximo = intervalo; } } }