Untitled
unknown
csharp
9 months ago
2.4 kB
6
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