// Start is called before the first frame update
    void Start()
    {
        mainCamera = Camera.main;

        terminalBeepsScript  = GameObject.Find("TerminalBeepsManager").GetComponent <TerminalBeeps>();
        terminalBeepsManager = GameObject.Find("TerminalBeepsManager");
        jobsManager          = GameObject.Find("Game Managers").GetComponent <Jobs>();
        terminalStore        = GameObject.Find("Game Managers").GetComponent <TerminalStore>();
        ignorePlayerMask     = ~LayerMask.GetMask("Player");
    }
    // Start is called before the first frame update
    void Start()
    {
        Transform firePSTransform = this.transform.Find("Fire Particle System");

        if (firePSTransform)
        {
            fire = this.transform.Find("Fire Particle System").gameObject;
            ps   = fire.GetComponent <ParticleSystem>();
        }

        currentFailureRate = baseFailureRate;

        jobsManager   = GameObject.Find("Game Managers").GetComponent <Jobs>();
        terminalStore = GameObject.Find("Game Managers").GetComponent <TerminalStore>();
        monitor       = GetComponentInChildren <TerminalMonitor>();

        Renderer rend = GetComponent <Renderer>();

        if (rend == null)
        {
            return;
        }

        switch (terminalType)
        {
        case TerminalTypes.PowerGenerator:
            rend.material.color = Color.yellow;
            label                  = "Power Generator";
            powerCapacity          = 1000;
            heatGeneration         = 500;
            positiveAttributeLabel = "Power Generated:\n";
            positiveAttribute      = powerCapacity;
            positiveAttributeUnit  = "Gw";
            break;

        case TerminalTypes.CoolingUnit:
            rend.material.color = Color.blue;
            label                  = "Cooling Unit";
            powerConsumption       = 100;
            coolingRate            = 300;
            positiveAttributeLabel = "Heat Dissipated:\n";
            positiveAttribute      = coolingRate;
            positiveAttributeUnit  = "BTUs";
            break;

        case TerminalTypes.EngineControl:
            rend.material.color = Color.red;
            label                  = "Engine Control";
            powerConsumption       = 200;
            heatGeneration         = 500;
            engineSpeed            = 1;
            positiveAttributeLabel = "Engine Speed:\n";
            positiveAttribute      = engineSpeed;
            positiveAttributeUnit  = "LSPS";
            break;

        case TerminalTypes.NAVCOMComputer:
            label = "NAV/COM Computer";
            //rend.material.color = Color.green;
            powerConsumption       = 50;
            heatGeneration         = 50;
            comRangeBoost          = 100;
            positiveAttributeLabel = "Com Range:\n";
            positiveAttribute      = comRangeBoost;
            positiveAttributeUnit  = "KM";
            break;

        default:
            break;
        }
    }