Encounter / Assets / Scripts / GUIHandlers / TitleScreen.cs
TitleScreen.cs
Raw
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class TitleScreen : MonoBehaviour
{
    [Header("Canvas Attributes")]
    [SerializeField] private Canvas titleScreenCanvas;
    [SerializeField] private Canvas creationCanvas;
    [SerializeField] private Canvas startGameCanvas;
    [SerializeField] private Canvas settingsCanvas;

    [SerializeField] private Button cont_Button;
    [SerializeField] private List<GameObject> effectObjects;

    private bool hasData;

    private void Start()
    {
        hasData = false;

        if (!hasData)
        {
            // TODO ---> Further implement when save functionality is implemented
            cont_Button.interactable = false;
        } 
    }

    /// <summary>
    /// After the player has checked their character's stats they can start their session
    /// </summary>
    public void StartGame()
        => GetComponent<LoadingScene>().LoadScene(1, creationCanvas);
    public void ToDifferentScreen(Canvas canvas)
    {
        titleScreenCanvas.enabled = false;
        canvas.enabled = true;

        foreach (GameObject obj in effectObjects)
            obj.SetActive(false);
    }
    public void ToTitleScreen(Canvas canvas)
    {
        titleScreenCanvas.enabled = true;
        canvas.enabled = false;

        foreach (GameObject obj in effectObjects)
            obj.SetActive(true);
    }
    public void ContinueGame()
    {
        if (!hasData)
            throw new NullReferenceException("has_Data in TitleScreen.cs shows false which means Continue shouldn't be possible.");

        if (hasData)
        {

        }
    }
    public void QuitGame() 
        => Application.Quit();
}