SHADE_Y3/Assets/Scripts/UI/SC_ChangeSceneButton.cs

51 lines
1.2 KiB
C#

using System;
using System.Reflection.Metadata.Ecma335;
using SHADE;
using SHADE_Scripting.UI;
public class ChangeSceneButton : Script
{
public uint sceneID = 0;
//Whether the scene changing button has been clicked
private bool clickedFlag;
protected override void awake()
{
clickedFlag = false;
}
protected override void start()
{
UIElement ui = GetComponent<UIElement>();
if (ui != null)
{
ui.OnRelease.RegisterAction(() =>
{
if (sceneID != 0)
{
Audio.PlaySFXOnce2D("event:/UI/success");
Audio.StopAllSounds();
SceneFadeInOut.Instance.CallFadeIn();
clickedFlag = true;
}
});
}
else
{
Debug.LogError("Failed to register button action for ChangeSceneButton.");
}
}
protected override void update()
{
if (clickedFlag && sceneID != 0 && SceneFadeInOut.Instance.FadeInFinished())
{
SceneManager.ChangeScene(sceneID);
}
}
}