An object reference is required to access non-static member ( Comes up. I am trying to work with an array)

Hello, I have setup an array and want to run checks of objects in the array. I get the
An object reference is required to access non-static member `LevelManager._groundedPatients’
error (at line 19 of my code).

The array has 1 object in it through the inspector.

I’m not sure how to solve this. Any help would be nice.
Thank you.

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class LevelManager : MonoBehaviour {


	public int playerMoves = -1;
	public GameObject deathParticle;


	public GameObject[] _groundedPatients;



	public static void CheckPatientsHealth()
	{
		//
		foreach (GameObject patient in _groundedPatients)
		if (patient.GetComponent<PatientManager>().image.fillAmount <= 0) {
//			Instantiate(deathParticle, transform.position, transform.rotation);
			print ("fgyiuh");
		}
	}



	void AddToPlayerMoveCounter()
	{
		playerMoves += 1;
	}
}

public GameObject _groundedPatients;

is not static, so each instance of LevelManager (each GameObject with this script) you create has their own _groundedPatients. You are trying to access it in a method that is static public static void CheckPatientsHealth().

Static methods are specific to the whole class, not each instance of it, so in the scope of a static method you cannot access a non static array.

If you call LevelManager.CheckPatientsHealth(), what would decide which instance of LevelManager would get its _groundedPatients looped through ?

You have to make the array static or the method not static.