C# Make array based on script variable

Thank you for reading my question. I have a number of objects that have a script on them called “SpawnPoint” that have a few variables including “Team ID.” I am trying to make an array of only objects that both have the Spawn Point script attached, and have the Team ID variable set to 0.

I can make an array of all Spawn Points by:

SpawnPoint[] spawnPoints;

void Start () {
spawnPoints = GameObject.FindObjectsOfType <SpawnPoint>();

But that is as far as I can get. Any help would be greatly appreciated.

This is just how i’d do it:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class SpawnPoint : MonoBehaviour 
	//static list for the spawnPoints
	public static List<SpawnPoint> spawnPoints = new List<SpawnPoint> ();
	//assuming its an integer
	public int teamID;
	// Use this for initialization
	void Start () 
		spawnPoints.Add (this);
    void OnDestroy() 
	    spawnPoints.Remove (this);
	public static SpawnPoint[] GetTeamIDSpawns(int ID)
		List<SpawnPoint> teamPoints = new List<SpawnPoint> ();
		foreach(SpawnPoint spawnPoint in spawnPoints)
			if(spawnPoint.teamID == ID)
		return teamPoints.ToArray ();

pass the searched ID value in the parameters in this case its 0

How to use it:

//this gets all SpawnPoints with teamID of 0
spawnPoints = SpawnPoint.GetTeamIDSpawns(0);