Добавил переключение режима после уничтожения последного врага

This commit is contained in:
2026-05-15 01:15:56 +03:00
parent cf45eab2bc
commit 99d4d91cbe
4 changed files with 40 additions and 2 deletions
+15 -1
View File
@@ -4219,6 +4219,7 @@ GameObject:
- component: {fileID: 694046009} - component: {fileID: 694046009}
- component: {fileID: 694046008} - component: {fileID: 694046008}
- component: {fileID: 694046010} - component: {fileID: 694046010}
- component: {fileID: 694046011}
m_Layer: 0 m_Layer: 0
m_Name: EnemySpawner m_Name: EnemySpawner
m_TagString: Untagged m_TagString: Untagged
@@ -4273,12 +4274,25 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 584d2a34a7bab574594a37606a39be8e, type: 3} m_Script: {fileID: 11500000, guid: 584d2a34a7bab574594a37606a39be8e, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: Assembly-CSharp::SpawnDeathEnemyController m_EditorClassIdentifier: Assembly-CSharp::SpawnDeathEnemyController
_gameManager: {fileID: 1875710079}
_enemySpawner: {fileID: 694046008} _enemySpawner: {fileID: 694046008}
_wallet: {fileID: 1030979928} _wallet: {fileID: 1030979928}
_onLastEnemyDestroyed: _onLastEnemyDestroyed:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] 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 --- !u!1001 &697685528
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
+23
View File
@@ -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;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 78768dd3999d2ea4a80ad7a46bbf27a6
@@ -4,7 +4,6 @@ using UnityEngine.Events;
public class SpawnDeathEnemyController : MonoBehaviour public class SpawnDeathEnemyController : MonoBehaviour
{ {
[SerializeField] private GameManager _gameManager;
[SerializeField] private EnemySpawner _enemySpawner; [SerializeField] private EnemySpawner _enemySpawner;
[SerializeField] private Wallet _wallet; [SerializeField] private Wallet _wallet;
[SerializeField] private UnityEvent _onLastEnemyDestroyed; [SerializeField] private UnityEvent _onLastEnemyDestroyed;