57 lines
1.1 KiB
C#
57 lines
1.1 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public abstract class Menu<T> : Menu where T : Menu<T>
|
|
{
|
|
private static T _instance;
|
|
public static T Instance { get { return _instance; } }
|
|
|
|
protected virtual void Awake()
|
|
{
|
|
if (_instance != null)
|
|
{
|
|
Destroy(gameObject);
|
|
}
|
|
else
|
|
{
|
|
_instance = (T)this;
|
|
}
|
|
}
|
|
|
|
protected virtual void OnDestroy()
|
|
{
|
|
_instance = null;
|
|
}
|
|
|
|
public static void Open()
|
|
{
|
|
if(MenuManager.Instance != null && MainMenu.Instance != null)
|
|
{
|
|
MenuManager.Instance.OpenMenu(Instance);
|
|
}
|
|
}
|
|
|
|
private void OnApplicationQuit()
|
|
{
|
|
HandleAppExit();
|
|
}
|
|
|
|
private void HandleAppExit()
|
|
{
|
|
AuthenticationManager.Signout();
|
|
Debug.Log("User logged out automatically on app exit");
|
|
}
|
|
|
|
}
|
|
|
|
public abstract class Menu : MonoBehaviour
|
|
{
|
|
public virtual void OnBackPressed()
|
|
{
|
|
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
|
|
MenuManager.Instance.CloseMenu();
|
|
}
|
|
|
|
}
|