UnityGameProjectsCode / InTheDarkGame / Managers / UICommands.cs
UICommands.cs
Raw
using Cinemachine;
using UnityEngine;
using UnityEngine.SceneManagement;

public class UICommands : MonoBehaviour
{
    private GUIManager guiMgr;

    private void Awake()
    {
        guiMgr = GameObject.Find("PersistentObject").GetComponent<GUIManager>();
    }

    public void ReverseUIElementState(GameObject reverseObject)
    {
        reverseObject.SetActive(!reverseObject.activeSelf);
    }

    public void LoadLevel(int levelID)
    {
        SceneManager.LoadScene(levelID);
        Time.timeScale = 1;
    }

    public void RestartLevel()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
        Time.timeScale = 1;
    }

    public void QuitGame()
    {
        Application.Quit();
        Debug.Log("Quit Game");
    }

    public void ResetLevelProgress()
    {
        GameObject.Find("PersistentObject").GetComponent<GUIManager>().ResetLevelProgress();
    }

    public void SetCameraPosition(int buttonID)
    {
        Transform followTarget = GameObject.Find("Camera").GetComponent<CinemachineVirtualCamera>().m_Follow;

        switch (buttonID)
        {
            default:
                break;

            case 0: //button pressed was level select
                if(followTarget.name == "UI Marker - Levels")
                    GameObject.Find("Camera").GetComponent<CinemachineVirtualCamera>().m_Follow = GameObject.Find("UI Marker - Main").transform;
                else
                    GameObject.Find("Camera").GetComponent<CinemachineVirtualCamera>().m_Follow = GameObject.Find("UI Marker - Levels").transform;
                break;

            case 1: //button pressed was settings
                if (followTarget.name == "UI Marker - Settings")
                    GameObject.Find("Camera").GetComponent<CinemachineVirtualCamera>().m_Follow = GameObject.Find("UI Marker - Main").transform;
                else
                    GameObject.Find("Camera").GetComponent<CinemachineVirtualCamera>().m_Follow = GameObject.Find("UI Marker - Settings").transform;
                break;

            case 2: //button pressed was settings
                if (followTarget.name == "UI Marker - Credits")
                    GameObject.Find("Camera").GetComponent<CinemachineVirtualCamera>().m_Follow = GameObject.Find("UI Marker - Main").transform;
                else
                    GameObject.Find("Camera").GetComponent<CinemachineVirtualCamera>().m_Follow = GameObject.Find("UI Marker - Credits").transform;
                break;
        }
    }

    public void UnlockAllLevels()
    {
        guiMgr.ClearLevelBlockers();
    }
}