51 lines
1.2 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|