using UnityEngine; public class CubeClash_HazardManager : MonoBehaviour { [Header("Hazards")] public GameObject windGustPrefab; public GameObject birdPrefab; public GameObject butterflyPrefab; public GameObject cubeLidPrefab; public GameObject shockZonePrefab; [Header("Items")] public GameObject blueberryPrefab; public GameObject timeBombPrefab; [Header("Timing")] public float hazardInterval = 5f; public float itemInterval = 8f; private float hazardTimer; private float itemTimer; void Update() { hazardTimer += Time.deltaTime; itemTimer += Time.deltaTime; if (hazardTimer >= hazardInterval) { SpawnHazard(); hazardTimer = 0f; } if (itemTimer >= itemInterval) { SpawnItem(); itemTimer = 0f; } } void SpawnHazard() { int roll = Random.Range(0, 4); switch (roll) { case 0: Instantiate(windGustPrefab, GetRandomPos(), Quaternion.identity); break; case 1: Instantiate(birdPrefab, GetRandomPos(), Quaternion.identity); break; case 2: Instantiate(butterflyPrefab, GetRandomPos(), Quaternion.identity); break; case 3: Instantiate(shockZonePrefab, GetRandomPos(), Quaternion.identity); break; } } void SpawnItem() { int roll = Random.Range(0, 2); switch (roll) { case 0: Instantiate(blueberryPrefab, GetRandomPos(), Quaternion.identity); break; case 1: Instantiate(timeBombPrefab, GetRandomPos(), Quaternion.identity); break; } } Vector3 GetRandomPos() { return new Vector3(Random.Range(-3f, 3f), 1f, Random.Range(-3f, 3f)); } }