private void Awake() { if (instance) { Destroy(gameObject); } else { instance = this; } }
/// <summary> /// Occurs when script is loaded and adds all graves to m_graveSpots /// </summary> private void Awake() { if (_instance == null || _instance != this) { _instance = this; } else { Destroy(this); } m_graveSpots = GameObject.FindGameObjectsWithTag("Grave"); Setup(); }
GraveManager GetClosestAvailableGrave() { GraveManager bestTarget = null; float closestDistanceSqr = Mathf.Infinity; Vector3 currentPosition = transform.position; foreach (GraveManager potentialTarget in GameManager.instance.allGraves) { if (potentialTarget.isDeath) { continue; } Vector3 directionToTarget = potentialTarget.transform.position - currentPosition; float dSqrToTarget = directionToTarget.sqrMagnitude; if (dSqrToTarget < closestDistanceSqr) { closestDistanceSqr = dSqrToTarget; bestTarget = potentialTarget; } } return(bestTarget); }
// Use this for initialization void Start() { gm = this; }