From 06c13568c1bfa4cc70eada18a380957e76f45a8a Mon Sep 17 00:00:00 2001 From: Maciekxdabu <40292375+Maciekxdabu@users.noreply.github.com> Date: Fri, 10 Jun 2022 10:59:49 +0200 Subject: [PATCH] merloj: Fixed bug with empty squad --- theProject/Assets/Prefabs/Soldier.prefab | 2 +- theProject/Assets/Scripts/Squad.cs | 13 +++++++++++++ theProject/Assets/Scripts/TickSystem/TTLList.cs | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/theProject/Assets/Prefabs/Soldier.prefab b/theProject/Assets/Prefabs/Soldier.prefab index 844fe097..a1ca37e5 100644 --- a/theProject/Assets/Prefabs/Soldier.prefab +++ b/theProject/Assets/Prefabs/Soldier.prefab @@ -78,7 +78,7 @@ MonoBehaviour: MySquad: {fileID: 0} rangeAttack: 3 rangeView: 1 - damageAttack: 1 + damageAttack: 10 speedAttack: 2 lastAttackTick: -1 target: {fileID: 0} diff --git a/theProject/Assets/Scripts/Squad.cs b/theProject/Assets/Scripts/Squad.cs index 98c1f0f1..59aca068 100644 --- a/theProject/Assets/Scripts/Squad.cs +++ b/theProject/Assets/Scripts/Squad.cs @@ -63,6 +63,19 @@ public class Squad : MonoBehaviour soldiers.RemoveFromList(soldier); ((Soldier)soldier).MySquad = null; soldier.OnDeath.RemoveListener(RemoveSoldierFromSquad); + + if (soldiers.GetCount() == 0) + { + Soldier[] objs = FindObjectsOfType(); + + foreach (Soldier obj in objs) + { + if (obj != soldier && obj.GetOwnTeam() == ownTeam) + { + AddSoldierToSquad(obj); + } + } + } } public void AddSpottedEnemy(Entity enemy) diff --git a/theProject/Assets/Scripts/TickSystem/TTLList.cs b/theProject/Assets/Scripts/TickSystem/TTLList.cs index 20b82ad8..96aeddc8 100644 --- a/theProject/Assets/Scripts/TickSystem/TTLList.cs +++ b/theProject/Assets/Scripts/TickSystem/TTLList.cs @@ -63,6 +63,11 @@ public class TTLList where T : UnityEngine.Object return new List(dict.Keys); } + public int GetCount() + { + return dict.Count; + } + // ---------- private methods // DEBUG - Changes a view list to see soldiers active in squad in inspector