70 lines
1.8 KiB
C#
70 lines
1.8 KiB
C#
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));
|
|
}
|
|
}
|