Files
Scampz/Assets/Scripts/SceneManagement/LoadScene.cs
2022-08-31 00:31:21 -07:00

51 lines
1.2 KiB
C#

using Scampz.GameJam.Assets.Scripts;
using Scampz.GameJam.Assets.Scripts.Audio;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace Scampz.GameJam
{
public class LoadScene : MonoBehaviour
{
private bool _loaded = false;
[SerializeField]
private string _scene;
[SerializeField]
private bool _promptToEnter;
[SerializeField]
private TextMeshProUGUI _promptText;
void OnTriggerEnter(Collider collider)
{
if (!_loaded && collider.CompareTag("Player"))
{
if (_promptToEnter)
_promptText.enabled = true;
if (!_promptToEnter)
LoadNextLevel();
}
}
private void OnTriggerStay(Collider collider)
{
if (!_loaded && collider.CompareTag("Player") && _promptText != null && _promptText.enabled && Input.GetButton(InputOptions.Submit))
LoadNextLevel();
}
private void OnTriggerExit(Collider collider)
{
if (_promptToEnter && collider.CompareTag("Player"))
_promptText.enabled = false;
}
private void LoadNextLevel()
{
_loaded = true;
SFXManager.Instance.PlaySoundEffect(SoundEffectName.Ok);
GameManager.Instance.LoadScene(_scene, LoadSceneMode.Single);
}
}
}