using System.Collections; using System.Collections.Generic; using UnityEngine; public static class ReferenceManager { static GameObject[] gameObjects = new GameObject[22]; static GameObject[] spirits = new GameObject[8]; static GUIManager guiManager; static GameManager gameManager; static DayNightCycle cycle; static SpookManager spookMgr; static SoundManager soundMgr; public static void SetReferences() { gameObjects[0] = GameObject.Find("Indicator"); gameObjects[1] = GameObject.Find("Objective Text"); gameObjects[2] = GameObject.Find("Corner Gradient"); gameObjects[3] = GameObject.Find("Game Play Canvas"); gameObjects[4] = GameObject.Find("Main Menu Canvas"); gameObjects[5] = GameObject.Find("Menu Camera"); gameObjects[6] = GameObject.Find("FirstPersonCharacter"); gameObjects[7] = GameObject.Find("Persistent Object"); gameObjects[8] = GameObject.Find("FPSController"); gameObjects[9] = GameObject.Find("Directional Light"); gameObjects[10] = GameObject.Find("Enemy"); gameObjects[11] = GameObject.Find("Dialogue Gradient"); gameObjects[12] = GameObject.Find("Dialogue"); gameObjects[13] = GameObject.Find("Death Canvas"); gameObjects[14] = GameObject.Find("Spirits"); gameObjects[15] = GameObject.Find("Dialogue Triggers"); gameObjects[16] = GameObject.Find("Lights"); gameObjects[17] = GameObject.Find("PickUp_Mate_Dirt"); gameObjects[18] = GameObject.Find("Vehicle Escape Canvas"); gameObjects[19] = GameObject.Find("Escape Canvas"); gameObjects[20] = GameObject.Find("Tutorial Canvas"); gameObjects[21] = GameObject.Find("Story Canvas"); guiManager = gameObjects[7].GetComponent<GUIManager>(); gameManager = gameObjects[7].GetComponent<GameManager>(); cycle = gameObjects[9].GetComponent<DayNightCycle>(); spookMgr = GameObject.Find("Spooks").GetComponent<SpookManager>(); soundMgr = gameObjects[7].GetComponent<SoundManager>(); List<GameObject> tempList = new List<GameObject>(); foreach (Transform transform in gameObjects[14].GetComponentsInChildren<Transform>()) { tempList.Add(transform.gameObject); } tempList.RemoveAt(0); for (int i = 0; i < tempList.Count; i++) { spirits[i] = tempList[i]; } Debug.Log("Reference Manager references set"); } public static GameObject GetObject(int objectID) { switch(objectID) { case 0: return gameObjects[0]; case 1: return gameObjects[1]; case 2: return gameObjects[2]; case 3: return gameObjects[3]; case 4: return gameObjects[4]; case 5: return gameObjects[5]; case 6: return gameObjects[6]; case 7: return gameObjects[7]; case 8: return gameObjects[8]; case 9: return gameObjects[9]; case 10: return gameObjects[10]; case 11: return gameObjects[11]; case 12: return gameObjects[12]; case 13: return gameObjects[13]; case 14: return gameObjects[14]; case 15: return gameObjects[15]; case 16: return gameObjects[16]; case 17: return gameObjects[17]; case 18: return gameObjects[18]; case 19: return gameObjects[19]; case 20: return gameObjects[20]; case 21: return gameObjects[21]; } Debug.LogWarning("A call was made to the reference manager to retrieve an object but the ID given was not inside the array"); return null; } public static GameObject[] GetFullObjectList() { return gameObjects; } public static GameObject[] GetSpiritsList() { return spirits; } public static GUIManager GetGUIManager() { return guiManager; } public static GameManager GetGameManager() { return gameManager; } public static SoundManager GetSoundManager() { return soundMgr; } public static DayNightCycle GetCycle() { return cycle; } public static SpookManager GetSpookManager() { return spookMgr; } }