Untitled
unknown
csharp
13 days ago
2.4 kB
4
Indexable
using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; public class ListOfEntities : MonoBehaviour { public GameObject enemies; public List<GeneralBehaviourManager> possibleEnemyTargets = new List<GeneralBehaviourManager> (); public GameObject playersGroups; public List<GeneralBehaviourManager> possiblePlayerGroupsTargets = new List<GeneralBehaviourManager> (); public GameObject waypoints; public List<Transform> possibleWaypointTargets = new List<Transform> (); void Start () { enemies = GameObject.Find ("Enemies"); playersGroups = GameObject.Find ("PlayerGroups"); waypoints = GameObject.Find ("Waypoints"); UpdateTargetLists (); } public void UpdateTargetLists () { GetEnemies (); GetPlayerGroups (); GetWaypoints (); } public void GetEnemies () { possibleEnemyTargets.Clear (); possibleEnemyTargets = enemies.GetComponentsInChildren<GeneralBehaviourManager> ().ToList (); } public void GetPlayerGroups () { possiblePlayerGroupsTargets.Clear (); possiblePlayerGroupsTargets = playersGroups.GetComponentsInChildren<GeneralBehaviourManager> ().ToList (); } public void GetWaypoints () { possibleWaypointTargets.Clear (); if (waypoints != null) { foreach (Transform t in waypoints.transform) { possibleWaypointTargets.Add (t); } } } //Checks if ATLEAST ONE player is alive public bool AreAllPlayersDead () { foreach (GeneralBehaviourManager gbm in possiblePlayerGroupsTargets) { if (!gbm.isDead) { return false; } } return true; } public void RemoveEntityFromList (GeneralBehaviourManager manager) { if (possibleEnemyTargets.Contains (manager)) { possibleEnemyTargets.Remove (manager); } if (possiblePlayerGroupsTargets.Contains (manager)) { possiblePlayerGroupsTargets.Remove (manager); } } public void RemoveEntityFromList (Transform waypoint) { if (possibleWaypointTargets.Contains (waypoint)) { possibleWaypointTargets.Remove (waypoint); } } }
Editor is loading...
Leave a Comment