diff --git a/Assets/Scripts/EnemySpawner.cs b/Assets/Scripts/EnemySpawner.cs index 262ed5b..c52eb19 100644 --- a/Assets/Scripts/EnemySpawner.cs +++ b/Assets/Scripts/EnemySpawner.cs @@ -8,6 +8,7 @@ public class EnemySpawner : MonoBehaviour [SerializeField] private SandPathBuildService _pathBuildService; [SerializeField] private Transform _enemyHolder; [SerializeField] private Transform _spawnPoint; + [SerializeField] private Enemy[] _enemiesPrefabs; [SerializeField] private UnityEvent _onEnemySpawned; public event UnityAction OnEnemySpawned @@ -43,7 +44,11 @@ public class EnemySpawner : MonoBehaviour foreach (var prefab in level.EnemiesPrefabs) { - var enemy = prefab.Spawn( + var p = prefab; + if (prefab == null) + p = _enemiesPrefabs[Random.Range(0, _enemiesPrefabs.Length)]; + + var enemy = p.Spawn( level.EnemiesHealthMultiplier, level.EnemiesSpeedMultiplier, level.EnemiesDamagingMultiplier, diff --git a/Assets/Scripts/ScriptableObjects/Level.cs b/Assets/Scripts/ScriptableObjects/Level.cs index 4f42342..911bb86 100644 --- a/Assets/Scripts/ScriptableObjects/Level.cs +++ b/Assets/Scripts/ScriptableObjects/Level.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; [CreateAssetMenu(fileName = "Level_No", menuName = "Scriptable Objects/Level")] public class Level : ScriptableObject { + [Tooltip("Если элемент не задан, будет выбран случайный из списка префабов спавнера")] [SerializeField] private Enemy[] _enemiesPrefabs; [SerializeField] private float _levelTimeSec = 10f; [SerializeField] private float _enemiesHealthMultiplier = 1;