made usage of adding/removing soldiers to squad easier

+ now only add/remove soldier to squad once and this
This commit is contained in:
Gabriel Ksawery Skowron-Rodriguez 2022-05-23 16:27:39 +02:00
parent ce3d7d69ee
commit 93ba29703e
2 changed files with 7 additions and 6 deletions

View File

@ -37,7 +37,6 @@ public class SquadManager : MonoBehaviour
if (soldier.GetOwnTeam() == squad.GetOwnTeam())
{
squad.AddSoldierToSquad(soldier);
soldier.OnDeath.AddListener(squad.RemoveSoldierFromSquad);
}
}
enabled = false;

View File

@ -40,11 +40,13 @@ public class Squad : MonoBehaviour
public void AddSoldierToSquad(Entity soldier)
{
soldiers.Add(soldier);
soldier.OnDeath.AddListener(RemoveSoldierFromSquad);
}
public void RemoveSoldierFromSquad(Entity soldier)
{
soldiers.Remove(soldier);
soldier.OnDeath.RemoveListener(RemoveSoldierFromSquad);
}
private void Awake()
@ -52,12 +54,12 @@ public class Squad : MonoBehaviour
TickSystem.OnTick += HandleTick;
}
private void Start()
{
}
private void OnDestroy()
{
TickSystem.OnTick -= HandleTick;
}
private void HandleTick(TickSystem.OnTickEventArgs eventArgs)
private void HandleTick(TickSystem.OnTickEventArgs eventArgs)
{// pass a single order to all soldiers
if (orders.Count < 1)
return; // for now nothing to do here