diff --git a/Assets/Scenes/Island.unity b/Assets/Scenes/Island.unity index fcd3ed3..5766bb2 100644 --- a/Assets/Scenes/Island.unity +++ b/Assets/Scenes/Island.unity @@ -4219,6 +4219,7 @@ GameObject: - component: {fileID: 694046009} - component: {fileID: 694046008} - component: {fileID: 694046010} + - component: {fileID: 694046011} m_Layer: 0 m_Name: EnemySpawner m_TagString: Untagged @@ -4273,12 +4274,25 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 584d2a34a7bab574594a37606a39be8e, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::SpawnDeathEnemyController - _gameManager: {fileID: 1875710079} _enemySpawner: {fileID: 694046008} _wallet: {fileID: 1030979928} _onLastEnemyDestroyed: m_PersistentCalls: m_Calls: [] +--- !u!114 &694046011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 694046007} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 78768dd3999d2ea4a80ad7a46bbf27a6, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::EndWaveStateSwitch + _gameManager: {fileID: 1875710079} + _spawnDeathEnemyController: {fileID: 694046010} --- !u!1001 &697685528 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/EndWaveStateSwitch.cs b/Assets/Scripts/EndWaveStateSwitch.cs new file mode 100644 index 0000000..5956b17 --- /dev/null +++ b/Assets/Scripts/EndWaveStateSwitch.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +public class EndWaveStateSwitch : MonoBehaviour +{ + [SerializeField] private GameManager _gameManager; + [SerializeField] private SpawnDeathEnemyController _spawnDeathEnemyController; + + private void OnEnable() + { + _spawnDeathEnemyController.OnLastEnemyDestroyed += OnLastEnemyDestroyed; + } + + private void OnDisable() + { + _spawnDeathEnemyController.OnLastEnemyDestroyed -= OnLastEnemyDestroyed; + } + + private void OnLastEnemyDestroyed() + { + _gameManager.CurrentState = GameManager.GameState.BuildingTurrets; + } +} diff --git a/Assets/Scripts/EndWaveStateSwitch.cs.meta b/Assets/Scripts/EndWaveStateSwitch.cs.meta new file mode 100644 index 0000000..37c72ba --- /dev/null +++ b/Assets/Scripts/EndWaveStateSwitch.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 78768dd3999d2ea4a80ad7a46bbf27a6 \ No newline at end of file diff --git a/Assets/Scripts/SpawnDeathEnemyController.cs b/Assets/Scripts/SpawnDeathEnemyController.cs index e276a83..b522033 100644 --- a/Assets/Scripts/SpawnDeathEnemyController.cs +++ b/Assets/Scripts/SpawnDeathEnemyController.cs @@ -4,7 +4,6 @@ using UnityEngine.Events; public class SpawnDeathEnemyController : MonoBehaviour { - [SerializeField] private GameManager _gameManager; [SerializeField] private EnemySpawner _enemySpawner; [SerializeField] private Wallet _wallet; [SerializeField] private UnityEvent _onLastEnemyDestroyed;