Added start, autoplay, Next buttons support
This commit is contained in:
parent
6a197d9da6
commit
cd0d00af48
|
@ -2,9 +2,13 @@ using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
public class EnemySpawnManager : MonoBehaviour
|
public class EnemySpawnManager : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
public bool HasStarted = false;
|
||||||
|
public bool IsAutoPlaying = false;
|
||||||
|
|
||||||
private float time = 0f;
|
private float time = 0f;
|
||||||
[SerializeField] private LevelDefinition levelDefinition;
|
[SerializeField] private LevelDefinition levelDefinition;
|
||||||
[SerializeField] private EnemyCollection enemyCollection;
|
[SerializeField] private EnemyCollection enemyCollection;
|
||||||
|
@ -12,11 +16,41 @@ public class EnemySpawnManager : MonoBehaviour
|
||||||
[SerializeField] private WaypointPath groundPath;
|
[SerializeField] private WaypointPath groundPath;
|
||||||
[SerializeField] private WaypointPath skyPath;
|
[SerializeField] private WaypointPath skyPath;
|
||||||
|
|
||||||
|
[Header("Buttons")]
|
||||||
|
|
||||||
|
[SerializeField] private Button StartButton;
|
||||||
|
[SerializeField] private Button NextButton;
|
||||||
|
[SerializeField] private Button AutoPlayButton;
|
||||||
|
|
||||||
private Queue<Wave> waveQueue;
|
private Queue<Wave> waveQueue;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
waveQueue = new Queue<Wave>(levelDefinition.Waves);
|
waveQueue = new Queue<Wave>(levelDefinition.Waves);
|
||||||
|
|
||||||
|
if (StartButton != null)
|
||||||
|
StartButton.onClick.AddListener(OnStartButtonClicked);
|
||||||
|
if (NextButton != null)
|
||||||
|
NextButton.onClick.AddListener(OnNextButtonClicked);
|
||||||
|
if (AutoPlayButton != null)
|
||||||
|
AutoPlayButton.onClick.AddListener(ToggleAutoPlayClicked);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnStartButtonClicked()
|
||||||
|
{
|
||||||
|
HasStarted = true;
|
||||||
|
PopWave();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnNextButtonClicked()
|
||||||
|
{
|
||||||
|
time = waveQueue.Peek().spawnTime;
|
||||||
|
PopWave();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ToggleAutoPlayClicked()
|
||||||
|
{
|
||||||
|
IsAutoPlaying = !IsAutoPlaying;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update()
|
void Update()
|
||||||
|
@ -26,7 +60,8 @@ public class EnemySpawnManager : MonoBehaviour
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
time += Time.deltaTime;
|
if (HasStarted && IsAutoPlaying)
|
||||||
|
time += Time.deltaTime;
|
||||||
|
|
||||||
if (waveQueue.Peek().spawnTime < time)
|
if (waveQueue.Peek().spawnTime < time)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue