From 0fd0584a50e34a92ad7215e4db494beae552a909 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 4 Feb 2024 18:25:23 -0500 Subject: [PATCH 1/6] Fixed enemy death resuming spawner timers unexpectedly. Now checks if the constant spawn is done to decide if spawning should end. --- Assets/Design/Levels/WaveConfig_Test.asset | 23 ++++++++ .../Design/Levels/WaveConfig_Test.asset.meta | 8 +++ Assets/Scripts/LevelConfig/WaveObserver.cs | 59 +++++++++++++++---- Assets/Scripts/Opponent/Opponent.cs | 2 +- Assets/Scripts/Tiles/SpawnerTile.cs | 3 +- 5 files changed, 82 insertions(+), 13 deletions(-) create mode 100644 Assets/Design/Levels/WaveConfig_Test.asset create mode 100644 Assets/Design/Levels/WaveConfig_Test.asset.meta diff --git a/Assets/Design/Levels/WaveConfig_Test.asset b/Assets/Design/Levels/WaveConfig_Test.asset new file mode 100644 index 0000000..021794c --- /dev/null +++ b/Assets/Design/Levels/WaveConfig_Test.asset @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb0795e326609f0499365f5b65c2b5cd, type: 3} + m_Name: WaveConfig_Test + m_EditorClassIdentifier: + _constantSpawn: + - _enemy: {fileID: 80204295746100150, guid: 1be769d6ef642314b8846bed35e7297c, type: 3} + _count: 20 + _nestedGroupSpawn: + - groupSpawn: + - _enemy: {fileID: 80204295746100150, guid: 5bbf0d85fa5bb3f4599da79f0a84e3a9, type: 3} + _count: 2 + triggerTime: 2 + _gameDuration: 3 diff --git a/Assets/Design/Levels/WaveConfig_Test.asset.meta b/Assets/Design/Levels/WaveConfig_Test.asset.meta new file mode 100644 index 0000000..0c8bb1d --- /dev/null +++ b/Assets/Design/Levels/WaveConfig_Test.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61b21509b3e4be0438ea87b4e7a73e17 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/LevelConfig/WaveObserver.cs b/Assets/Scripts/LevelConfig/WaveObserver.cs index 2ab3d1c..e1d3ebb 100644 --- a/Assets/Scripts/LevelConfig/WaveObserver.cs +++ b/Assets/Scripts/LevelConfig/WaveObserver.cs @@ -87,16 +87,31 @@ public class WaveObserver : Singleton if (_levelConfig.ConstantSpawn[i].GetEnemyObject() == paramPrefab) { currentCount = --_copyConstantSpawn[i]; - break; - } - } - if (currentCount <= 0) - { - foreach (SpawnerTile spawner in _subjects) - { - if (spawner.Prefab.Equals(paramPrefab)) + //break; + Debug.Log("Amout to spawn is now: " + currentCount); + if (currentCount <= 0) { - spawner.StopSpawn(); + bool hasNextTarget = false; + for (int j = i; j < _copyConstantSpawn.Count; j++) + { + if (_copyConstantSpawn[_copyConstantSpawn.Count - j] > 0) + { + spawnerSubject.Prefab = _levelConfig.ConstantSpawn[j].GetEnemyObject(); + hasNextTarget = true; + Debug.Log(spawnerSubject.Prefab.name); + } + } + if (!hasNextTarget) + { + foreach (SpawnerTile spawner in _subjects) + { + if (spawner.Prefab.Equals(paramPrefab)) + { + spawner.StopSpawn(); + Debug.Log("----Spawn Stopped----"); + } + } + } } } } @@ -122,12 +137,34 @@ public class WaveObserver : Singleton * Called when an enemy dies * Reactivates spawning on that row if disabled before */ - public void NotifyDies(int position, float toughness) + public void NotifyDies(int position, float toughness, GameObject paramPrefab) { _aliveEnemyCount[position] -= toughness; if (_aliveEnemyCount[position] < MAXTOUGHNESS) { - _subjects[position].StartSpawn(); + for (int i = 0; i < _copyConstantSpawn.Count; i++) + { + if (_levelConfig.ConstantSpawn[i].GetEnemyObject() == paramPrefab) + { + // Checks if there are more of the same type to create + if (_copyConstantSpawn[i] > 0) + { + _subjects[position].StartSpawn(); + break; + } + for (int j = i; j < _copyConstantSpawn.Count; j++) + { + // Checks if there are other types to create + if (_copyConstantSpawn[_copyConstantSpawn.Count - j] > 0) + { + _subjects[position].Prefab = _levelConfig.ConstantSpawn[j].GetEnemyObject(); + _subjects[position].StartSpawn(); + break; + } + } + break; + } + } } } diff --git a/Assets/Scripts/Opponent/Opponent.cs b/Assets/Scripts/Opponent/Opponent.cs index a8ca40f..f5ba5db 100644 --- a/Assets/Scripts/Opponent/Opponent.cs +++ b/Assets/Scripts/Opponent/Opponent.cs @@ -63,7 +63,7 @@ public class Opponent : Entity public override void Death() { - _observer.NotifyDies(_observerIndex, _toughness); + _observer.NotifyDies(_observerIndex, _toughness, gameObject); base.Death(); } diff --git a/Assets/Scripts/Tiles/SpawnerTile.cs b/Assets/Scripts/Tiles/SpawnerTile.cs index ac47b5a..d279747 100644 --- a/Assets/Scripts/Tiles/SpawnerTile.cs +++ b/Assets/Scripts/Tiles/SpawnerTile.cs @@ -60,8 +60,9 @@ public class SpawnerTile : LevelTile } } } + Debug.Log("Time: " + _spawnCounter); if (_spawnCounter < _spawnSpeed) return; - + Debug.Log("Stopped but still spawning"); _spawnCounter = 0; if (!_cooldownEnded) { From d0371349dba52e54c11037002eab857ca33e6989 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 4 Feb 2024 19:05:01 -0500 Subject: [PATCH 2/6] Temp reset --- Assets/Scripts/LevelConfig/WaveObserver.cs | 69 ++++++++++++++-------- 1 file changed, 45 insertions(+), 24 deletions(-) diff --git a/Assets/Scripts/LevelConfig/WaveObserver.cs b/Assets/Scripts/LevelConfig/WaveObserver.cs index e1d3ebb..196d8ad 100644 --- a/Assets/Scripts/LevelConfig/WaveObserver.cs +++ b/Assets/Scripts/LevelConfig/WaveObserver.cs @@ -81,37 +81,58 @@ public class WaveObserver : Singleton spawnerSubject.ChangeSpawnSpeed(_levelConfig.Interval * _spawnerTiming); if (paramPrefab.Equals(_levelConfig.ConstantSpawn[0].GetEnemyObject())) { + //int currentCount = 0; + //for (int i = 0; i < _copyConstantSpawn.Count; i++) + //{ + // if (_levelConfig.ConstantSpawn[i].GetEnemyObject() == paramPrefab) + // { + // currentCount = --_copyConstantSpawn[i]; + // break; + // Debug.Log("Amout to spawn is now: " + currentCount); + // if (currentCount <= 0) + // { + // //bool hasNextTarget = false; + // //for (int j = i; j < _copyConstantSpawn.Count; j++) + // //{ + // // if (_copyConstantSpawn[_copyConstantSpawn.Count - j] > 0) + // // { + // // spawnerSubject.Prefab = _levelConfig.ConstantSpawn[j].GetEnemyObject(); + // // hasNextTarget = true; + // // Debug.Log(spawnerSubject.Prefab.name); + // // } + // //} + // //if (!hasNextTarget) + // //{ + // foreach (SpawnerTile spawner in _subjects) + // { + // if (spawner.Prefab.Equals(paramPrefab)) + // { + // spawner.StopSpawn(); + // Debug.Log("----Spawn Stopped----"); + // } + // } + // //} + // } + // } + //} int currentCount = 0; for (int i = 0; i < _copyConstantSpawn.Count; i++) { if (_levelConfig.ConstantSpawn[i].GetEnemyObject() == paramPrefab) { currentCount = --_copyConstantSpawn[i]; - //break; - Debug.Log("Amout to spawn is now: " + currentCount); - if (currentCount <= 0) + break; + } + } + Debug.Log("Amout to spawn is now: " + currentCount); + if (currentCount <= 0) + { + foreach (SpawnerTile spawner in _subjects) + { + if (spawner.Prefab.Equals(paramPrefab)) { - bool hasNextTarget = false; - for (int j = i; j < _copyConstantSpawn.Count; j++) - { - if (_copyConstantSpawn[_copyConstantSpawn.Count - j] > 0) - { - spawnerSubject.Prefab = _levelConfig.ConstantSpawn[j].GetEnemyObject(); - hasNextTarget = true; - Debug.Log(spawnerSubject.Prefab.name); - } - } - if (!hasNextTarget) - { - foreach (SpawnerTile spawner in _subjects) - { - if (spawner.Prefab.Equals(paramPrefab)) - { - spawner.StopSpawn(); - Debug.Log("----Spawn Stopped----"); - } - } - } + spawner.StopSpawn(); + Debug.Log("----Spawn Stopped----"); } } } From 8921c898ec48fdc8749034ba93b1bace002a6412 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Tue, 27 Feb 2024 15:21:47 -0500 Subject: [PATCH 3/6] Fix ConstantSpawn to change constant spawn group when one group dies Keeps doing constant spawn after 2nd group dies To test: 2 groups die, what about the 3rd one --- Assets/Design/Levels/Level1.asset | 2 +- Assets/Design/Levels/WaveConfig_Test.asset | 6 +- Assets/Scripts/LevelConfig/WaveConfig.cs | 10 ++- Assets/Scripts/LevelConfig/WaveObserver.cs | 75 ++++++++-------------- Assets/Scripts/Tiles/SpawnerTile.cs | 2 +- 5 files changed, 41 insertions(+), 54 deletions(-) diff --git a/Assets/Design/Levels/Level1.asset b/Assets/Design/Levels/Level1.asset index 23e574f..56169bb 100644 --- a/Assets/Design/Levels/Level1.asset +++ b/Assets/Design/Levels/Level1.asset @@ -248,7 +248,7 @@ MonoBehaviour: _renderLayer: Default _position: {x: 0, y: 0} _scale: {x: 1, y: 1} - _waveConfig: {fileID: 11400000, guid: d8140ae36f1b7fd4fb1a57ab3dc69de4, type: 2} + _waveConfig: {fileID: 11400000, guid: 61b21509b3e4be0438ea87b4e7a73e17, type: 2} _startPopulation: 10 _startFood: 40 _startWood: 0 diff --git a/Assets/Design/Levels/WaveConfig_Test.asset b/Assets/Design/Levels/WaveConfig_Test.asset index 021794c..0522608 100644 --- a/Assets/Design/Levels/WaveConfig_Test.asset +++ b/Assets/Design/Levels/WaveConfig_Test.asset @@ -14,10 +14,12 @@ MonoBehaviour: m_EditorClassIdentifier: _constantSpawn: - _enemy: {fileID: 80204295746100150, guid: 1be769d6ef642314b8846bed35e7297c, type: 3} - _count: 20 + _count: 4 + - _enemy: {fileID: 80204295746100150, guid: 5bbf0d85fa5bb3f4599da79f0a84e3a9, type: 3} + _count: 4 _nestedGroupSpawn: - groupSpawn: - _enemy: {fileID: 80204295746100150, guid: 5bbf0d85fa5bb3f4599da79f0a84e3a9, type: 3} _count: 2 triggerTime: 2 - _gameDuration: 3 + _gameDuration: 1 diff --git a/Assets/Scripts/LevelConfig/WaveConfig.cs b/Assets/Scripts/LevelConfig/WaveConfig.cs index 3671260..43dbaaa 100644 --- a/Assets/Scripts/LevelConfig/WaveConfig.cs +++ b/Assets/Scripts/LevelConfig/WaveConfig.cs @@ -57,11 +57,19 @@ public class WaveConfig : ScriptableObject /** * Returns a random enemy among the constantSpawn list */ - public EnemyType GetRandomSpawn() + public EnemyType GetRandomSpawn(GameObject constraint = null) { if (_constantSpawn.Count == 1) { return _constantSpawn[0]; + } else if (constraint != null) + { + EnemyType randomEnemy; + do + { + randomEnemy = _constantSpawn[Random.Range(0, _constantSpawn.Count)]; + } while (randomEnemy.GetEnemyObject() == constraint); + return randomEnemy; } return _constantSpawn[Random.Range(0, _constantSpawn.Count - 1)]; } diff --git a/Assets/Scripts/LevelConfig/WaveObserver.cs b/Assets/Scripts/LevelConfig/WaveObserver.cs index 196d8ad..1c7c346 100644 --- a/Assets/Scripts/LevelConfig/WaveObserver.cs +++ b/Assets/Scripts/LevelConfig/WaveObserver.cs @@ -79,64 +79,41 @@ public class WaveObserver : Singleton { GameObject paramPrefab = spawnerSubject.Prefab; spawnerSubject.ChangeSpawnSpeed(_levelConfig.Interval * _spawnerTiming); - if (paramPrefab.Equals(_levelConfig.ConstantSpawn[0].GetEnemyObject())) + for (int spawnIndex = 0; spawnIndex < _copyConstantSpawn.Count; spawnIndex++) { - //int currentCount = 0; - //for (int i = 0; i < _copyConstantSpawn.Count; i++) - //{ - // if (_levelConfig.ConstantSpawn[i].GetEnemyObject() == paramPrefab) - // { - // currentCount = --_copyConstantSpawn[i]; - // break; - // Debug.Log("Amout to spawn is now: " + currentCount); - // if (currentCount <= 0) - // { - // //bool hasNextTarget = false; - // //for (int j = i; j < _copyConstantSpawn.Count; j++) - // //{ - // // if (_copyConstantSpawn[_copyConstantSpawn.Count - j] > 0) - // // { - // // spawnerSubject.Prefab = _levelConfig.ConstantSpawn[j].GetEnemyObject(); - // // hasNextTarget = true; - // // Debug.Log(spawnerSubject.Prefab.name); - // // } - // //} - // //if (!hasNextTarget) - // //{ - // foreach (SpawnerTile spawner in _subjects) - // { - // if (spawner.Prefab.Equals(paramPrefab)) - // { - // spawner.StopSpawn(); - // Debug.Log("----Spawn Stopped----"); - // } - // } - // //} - // } - // } - //} - int currentCount = 0; - for (int i = 0; i < _copyConstantSpawn.Count; i++) + if (_copyConstantSpawn[spawnIndex] == 0) { - if (_levelConfig.ConstantSpawn[i].GetEnemyObject() == paramPrefab) - { - currentCount = --_copyConstantSpawn[i]; - break; - } + Debug.Log("--I'm empty--"); + continue; } - Debug.Log("Amout to spawn is now: " + currentCount); - if (currentCount <= 0) + if (paramPrefab.Equals(_levelConfig.ConstantSpawn[spawnIndex].GetEnemyObject())) { - foreach (SpawnerTile spawner in _subjects) + _copyConstantSpawn[spawnIndex]--; + + Debug.Log("Amout to spawn is now: " + _copyConstantSpawn[spawnIndex]); + if (_copyConstantSpawn[spawnIndex] == 0) { - if (spawner.Prefab.Equals(paramPrefab)) + foreach (SpawnerTile spawner in _subjects) { - spawner.StopSpawn(); - Debug.Log("----Spawn Stopped----"); + if (spawner.Prefab.Equals(paramPrefab)) + { + GameObject randomEnemy = _levelConfig.GetRandomSpawn(paramPrefab).GetEnemyObject(); + if (randomEnemy == spawner.Prefab) + { + spawner.StopSpawn(); + Debug.Log("----Spawn Stopped----"); + } + else + { + spawner.Prefab = randomEnemy; + Debug.Log("----Spawn Changed!!!----"); + } + } } } + break; } - } + } } /** diff --git a/Assets/Scripts/Tiles/SpawnerTile.cs b/Assets/Scripts/Tiles/SpawnerTile.cs index d279747..f0698f0 100644 --- a/Assets/Scripts/Tiles/SpawnerTile.cs +++ b/Assets/Scripts/Tiles/SpawnerTile.cs @@ -60,7 +60,7 @@ public class SpawnerTile : LevelTile } } } - Debug.Log("Time: " + _spawnCounter); + //Debug.Log("Time: " + _spawnCounter); if (_spawnCounter < _spawnSpeed) return; Debug.Log("Stopped but still spawning"); _spawnCounter = 0; From bc4b4c30a81e1ffa2c6e55dbe1dc7654590d9444 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sat, 2 Mar 2024 16:26:47 -0500 Subject: [PATCH 4/6] Fixed spawning decrementation and changing spawner objectives dynamically --- Assets/Design/Levels/WaveConfig_Test.asset | 2 ++ Assets/Scripts/Drag&Drop/DeleteShovel.cs | 1 - Assets/Scripts/LevelConfig/WaveConfig.cs | 21 ++++++++++++++++----- Assets/Scripts/LevelConfig/WaveObserver.cs | 10 +++++----- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/Assets/Design/Levels/WaveConfig_Test.asset b/Assets/Design/Levels/WaveConfig_Test.asset index 0522608..2e4eca2 100644 --- a/Assets/Design/Levels/WaveConfig_Test.asset +++ b/Assets/Design/Levels/WaveConfig_Test.asset @@ -17,6 +17,8 @@ MonoBehaviour: _count: 4 - _enemy: {fileID: 80204295746100150, guid: 5bbf0d85fa5bb3f4599da79f0a84e3a9, type: 3} _count: 4 + - _enemy: {fileID: 80204295746100150, guid: 2419a879bd4e47d4fa8b30de0fcdde42, type: 3} + _count: 6 _nestedGroupSpawn: - groupSpawn: - _enemy: {fileID: 80204295746100150, guid: 5bbf0d85fa5bb3f4599da79f0a84e3a9, type: 3} diff --git a/Assets/Scripts/Drag&Drop/DeleteShovel.cs b/Assets/Scripts/Drag&Drop/DeleteShovel.cs index 9288b40..f9fb5f0 100644 --- a/Assets/Scripts/Drag&Drop/DeleteShovel.cs +++ b/Assets/Scripts/Drag&Drop/DeleteShovel.cs @@ -1,4 +1,3 @@ -using Codice.CM.Client.Differences; using System.Collections; using System.Collections.Generic; using UnityEngine; diff --git a/Assets/Scripts/LevelConfig/WaveConfig.cs b/Assets/Scripts/LevelConfig/WaveConfig.cs index 43dbaaa..4fd06c4 100644 --- a/Assets/Scripts/LevelConfig/WaveConfig.cs +++ b/Assets/Scripts/LevelConfig/WaveConfig.cs @@ -18,6 +18,7 @@ public class WaveConfig : ScriptableObject private float _gameDuration = 1; private float _enemySpawndOnStart = 0; private int _enemySum = 0; + private List _constraintList = new List(); public List ConstantSpawn { get @@ -64,14 +65,24 @@ public class WaveConfig : ScriptableObject return _constantSpawn[0]; } else if (constraint != null) { - EnemyType randomEnemy; - do + if (!_constraintList.Contains(constraint)) { - randomEnemy = _constantSpawn[Random.Range(0, _constantSpawn.Count)]; - } while (randomEnemy.GetEnemyObject() == constraint); + _constraintList.Add(constraint); + } + if (_constraintList.Count < _constantSpawn.Count) + { + EnemyType randomEnemy; + do + { + randomEnemy = _constantSpawn[Random.Range(0, _constantSpawn.Count)]; + } while (_constraintList.Contains(randomEnemy.GetEnemyObject())); return randomEnemy; + } else + { + return null; + } } - return _constantSpawn[Random.Range(0, _constantSpawn.Count - 1)]; + return _constantSpawn[Random.Range(0, _constantSpawn.Count)]; } /** diff --git a/Assets/Scripts/LevelConfig/WaveObserver.cs b/Assets/Scripts/LevelConfig/WaveObserver.cs index 1c7c346..4f8f117 100644 --- a/Assets/Scripts/LevelConfig/WaveObserver.cs +++ b/Assets/Scripts/LevelConfig/WaveObserver.cs @@ -81,7 +81,7 @@ public class WaveObserver : Singleton spawnerSubject.ChangeSpawnSpeed(_levelConfig.Interval * _spawnerTiming); for (int spawnIndex = 0; spawnIndex < _copyConstantSpawn.Count; spawnIndex++) { - if (_copyConstantSpawn[spawnIndex] == 0) + if (_copyConstantSpawn[spawnIndex] == 0) //Doesn't compare this iteration because it's already empty { Debug.Log("--I'm empty--"); continue; @@ -97,15 +97,15 @@ public class WaveObserver : Singleton { if (spawner.Prefab.Equals(paramPrefab)) { - GameObject randomEnemy = _levelConfig.GetRandomSpawn(paramPrefab).GetEnemyObject(); - if (randomEnemy == spawner.Prefab) + EnemyType randomEnemy = _levelConfig.GetRandomSpawn(paramPrefab); + if (randomEnemy?.GetEnemyObject() == spawner.Prefab || randomEnemy == null) { spawner.StopSpawn(); Debug.Log("----Spawn Stopped----"); } else { - spawner.Prefab = randomEnemy; + spawner.Prefab = randomEnemy.GetEnemyObject(); Debug.Log("----Spawn Changed!!!----"); } } @@ -113,7 +113,7 @@ public class WaveObserver : Singleton } break; } - } + } } /** From bd28e30da54baca4d008ea373c2d3c66b41100e5 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 3 Mar 2024 13:41:23 -0500 Subject: [PATCH 5/6] Comments + variable structure --- Assets/Scripts/LevelConfig/WaveConfig.cs | 6 ++++-- Assets/Scripts/LevelConfig/WaveObserver.cs | 19 ++++++++----------- Assets/Scripts/Tiles/SpawnerTile.cs | 2 -- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/Assets/Scripts/LevelConfig/WaveConfig.cs b/Assets/Scripts/LevelConfig/WaveConfig.cs index 4fd06c4..b994da8 100644 --- a/Assets/Scripts/LevelConfig/WaveConfig.cs +++ b/Assets/Scripts/LevelConfig/WaveConfig.cs @@ -15,10 +15,10 @@ public class WaveConfig : ScriptableObject [SerializeField] private List _nestedGroupSpawn = new List(); [SerializeField] + private List _constraintList = new List(); //List of depleted enemies private float _gameDuration = 1; private float _enemySpawndOnStart = 0; private int _enemySum = 0; - private List _constraintList = new List(); public List ConstantSpawn { get @@ -57,6 +57,8 @@ public class WaveConfig : ScriptableObject /** * Returns a random enemy among the constantSpawn list + * Called when assigning a new enemy to a spawner + * When given, ensures that assigned enemy hasn't depleted */ public EnemyType GetRandomSpawn(GameObject constraint = null) { @@ -76,7 +78,7 @@ public class WaveConfig : ScriptableObject { randomEnemy = _constantSpawn[Random.Range(0, _constantSpawn.Count)]; } while (_constraintList.Contains(randomEnemy.GetEnemyObject())); - return randomEnemy; + return randomEnemy; } else { return null; diff --git a/Assets/Scripts/LevelConfig/WaveObserver.cs b/Assets/Scripts/LevelConfig/WaveObserver.cs index 4f8f117..4d6e660 100644 --- a/Assets/Scripts/LevelConfig/WaveObserver.cs +++ b/Assets/Scripts/LevelConfig/WaveObserver.cs @@ -5,17 +5,18 @@ using UnityEngine; public class WaveObserver : Singleton { + private const int MAXTOUGHNESS = 10; + private List _subjects = new List(); private List _aliveEnemyCount = new List(); - private List _copyConstantSpawn; - private List> _copyGroupSpawn; //Contains count of enemies per group private List _groupSpawnTimers; - private WaveConfig _levelConfig; - private const int MAXTOUGHNESS = 10; - private int _spawnerTiming = 0; + private List _copyConstantSpawn; private List _intervalTiming = new List(); - private bool _once = true; + private List> _copyGroupSpawn; //Contains count of enemies per group + private WaveConfig _levelConfig; + private int _spawnerTiming = 0; private int _currentGroupIndex = 0; + private bool _once = true; public void Init(WaveConfig config) { @@ -83,14 +84,12 @@ public class WaveObserver : Singleton { if (_copyConstantSpawn[spawnIndex] == 0) //Doesn't compare this iteration because it's already empty { - Debug.Log("--I'm empty--"); continue; } if (paramPrefab.Equals(_levelConfig.ConstantSpawn[spawnIndex].GetEnemyObject())) { _copyConstantSpawn[spawnIndex]--; - Debug.Log("Amout to spawn is now: " + _copyConstantSpawn[spawnIndex]); if (_copyConstantSpawn[spawnIndex] == 0) { foreach (SpawnerTile spawner in _subjects) @@ -101,12 +100,10 @@ public class WaveObserver : Singleton if (randomEnemy?.GetEnemyObject() == spawner.Prefab || randomEnemy == null) { spawner.StopSpawn(); - Debug.Log("----Spawn Stopped----"); } else { spawner.Prefab = randomEnemy.GetEnemyObject(); - Debug.Log("----Spawn Changed!!!----"); } } } @@ -222,7 +219,7 @@ public class WaveObserver : Singleton if (_copyGroupSpawn[_currentGroupIndex][groupIndex] != 0) { CycleRows(usedRows, currentGroup, groupIndex); - /*If group is done OR max rows reached while group is not done*/ + // If group is done OR max rows reached while group is not done if (_copyGroupSpawn[_currentGroupIndex][groupIndex] > 0 || (usedRows.Count == _subjects.Count && _copyGroupSpawn[_currentGroupIndex][groupIndex] > 0)) { return false; diff --git a/Assets/Scripts/Tiles/SpawnerTile.cs b/Assets/Scripts/Tiles/SpawnerTile.cs index f0698f0..e668a4b 100644 --- a/Assets/Scripts/Tiles/SpawnerTile.cs +++ b/Assets/Scripts/Tiles/SpawnerTile.cs @@ -60,9 +60,7 @@ public class SpawnerTile : LevelTile } } } - //Debug.Log("Time: " + _spawnCounter); if (_spawnCounter < _spawnSpeed) return; - Debug.Log("Stopped but still spawning"); _spawnCounter = 0; if (!_cooldownEnded) { From 10ec788979043975ef8d45bf945dd4235047f20a Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 3 Mar 2024 14:13:43 -0500 Subject: [PATCH 6/6] Fix misplaced variable --- Assets/Scripts/LevelConfig/WaveConfig.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Scripts/LevelConfig/WaveConfig.cs b/Assets/Scripts/LevelConfig/WaveConfig.cs index b994da8..41b9b6a 100644 --- a/Assets/Scripts/LevelConfig/WaveConfig.cs +++ b/Assets/Scripts/LevelConfig/WaveConfig.cs @@ -15,8 +15,8 @@ public class WaveConfig : ScriptableObject [SerializeField] private List _nestedGroupSpawn = new List(); [SerializeField] - private List _constraintList = new List(); //List of depleted enemies private float _gameDuration = 1; + private List _constraintList = new List(); //List of depleted enemies private float _enemySpawndOnStart = 0; private int _enemySum = 0; public List ConstantSpawn