Files
Crash-Course/Assets/Old/Hub/HubManager.cs

55 lines
1.2 KiB
C#
Raw Normal View History

2025-01-09 11:07:20 -05:00
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
2025-01-09 11:07:20 -05:00
public class HubManager : MonoBehaviour
{
2025-02-09 17:18:51 -05:00
public GameObject hubCamera;
public GameObject gameButtonsParent;
2025-02-09 17:18:51 -05:00
private void Start()
{
hubCamera.SetActive(true);
}
2025-01-09 11:07:20 -05:00
public void LoadScene(string sceneName)
{
2025-02-09 17:18:51 -05:00
hubCamera.SetActive(true);
2025-01-09 11:07:20 -05:00
UnloadGameScene();
SceneManager.LoadScene(sceneName, LoadSceneMode.Additive);
}
public void UnloadGameScene()
{
2025-02-09 17:18:51 -05:00
hubCamera.SetActive(false);
2025-01-09 11:07:20 -05:00
try
{
SceneManager.UnloadSceneAsync(SceneManager.GetSceneAt(1));
}
catch
{
Debug.Log("No game scene to unload");
}
ChangeGameButtonsInteractability(false);
2025-01-09 11:07:20 -05:00
}
private void Update()
{
if (InputSystem.GetDevice<Keyboard>().escapeKey.wasPressedThisFrame)
{
UnloadGameScene();
ChangeGameButtonsInteractability(true);
}
}
private void ChangeGameButtonsInteractability(bool interactable)
{
foreach (Transform button in gameButtonsParent.transform)
{
button.GetComponent<Button>().interactable = interactable;
2025-01-09 11:07:20 -05:00
}
}
}