UnityGameProjectsCode / AbandondedGame / ReferenceManager.cs
ReferenceManager.cs
Raw
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;
    }
}