Done adding Obstacles and balancing BirdPooper
This commit is contained in:
@@ -34,6 +34,13 @@ namespace Minigames.BirdPooper
|
||||
private IBirdPooperSettings settings;
|
||||
private float spawnTimer;
|
||||
private bool isSpawning;
|
||||
private float _currentTargetInterval = 1f;
|
||||
|
||||
[Header("Spawn Timing")]
|
||||
[Tooltip("Minimum interval between target spawns (seconds)")]
|
||||
[SerializeField] private float minTargetSpawnInterval = 1f;
|
||||
[Tooltip("Maximum interval between target spawns (seconds)")]
|
||||
[SerializeField] private float maxTargetSpawnInterval = 2f;
|
||||
|
||||
internal override void OnManagedAwake()
|
||||
{
|
||||
@@ -44,7 +51,18 @@ namespace Minigames.BirdPooper
|
||||
if (settings == null)
|
||||
{
|
||||
Debug.LogError("[TargetSpawner] BirdPooperSettings not found!");
|
||||
return;
|
||||
// continue – we'll use inspector intervals
|
||||
}
|
||||
|
||||
// Validate interval range
|
||||
if (minTargetSpawnInterval < 0f) minTargetSpawnInterval = 0f;
|
||||
if (maxTargetSpawnInterval < 0f) maxTargetSpawnInterval = 0f;
|
||||
if (minTargetSpawnInterval > maxTargetSpawnInterval)
|
||||
{
|
||||
float tmp = minTargetSpawnInterval;
|
||||
minTargetSpawnInterval = maxTargetSpawnInterval;
|
||||
maxTargetSpawnInterval = tmp;
|
||||
Debug.LogWarning("[TargetSpawner] minTargetSpawnInterval was greater than maxTargetSpawnInterval. Values were swapped.");
|
||||
}
|
||||
|
||||
// Validate references
|
||||
@@ -78,15 +96,17 @@ namespace Minigames.BirdPooper
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!isSpawning || settings == null)
|
||||
if (!isSpawning)
|
||||
return;
|
||||
|
||||
spawnTimer += Time.deltaTime;
|
||||
|
||||
if (spawnTimer >= settings.TargetSpawnInterval)
|
||||
if (spawnTimer >= _currentTargetInterval)
|
||||
{
|
||||
SpawnTarget();
|
||||
spawnTimer = 0f;
|
||||
// pick next random interval
|
||||
_currentTargetInterval = Random.Range(minTargetSpawnInterval, maxTargetSpawnInterval);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,6 +173,8 @@ namespace Minigames.BirdPooper
|
||||
{
|
||||
isSpawning = true;
|
||||
spawnTimer = 0f;
|
||||
// choose initial interval
|
||||
_currentTargetInterval = Random.Range(minTargetSpawnInterval, maxTargetSpawnInterval);
|
||||
Debug.Log("[TargetSpawner] Started spawning targets");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user