SHADE_Y3/Assets/Scripts/UI/SC_ChangeSceneButton.cs

52 lines
1.2 KiB
C#
Raw Normal View History

using System;
2023-02-28 06:49:40 +08:00
using System.Reflection.Metadata.Ecma335;
using SHADE;
2023-02-28 06:49:40 +08:00
using SHADE_Scripting.UI;
public class ChangeSceneButton : Script
{
public uint sceneID = 0;
2023-02-28 06:49:40 +08:00
//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>();
2023-02-04 00:04:25 +08:00
if (ui != null)
{
ui.OnRelease.RegisterAction(() =>
{
2023-02-04 00:04:25 +08:00
if (sceneID != 0)
{
Audio.PlaySFXOnce2D("event:/UI/success");
2023-02-28 06:49:40 +08:00
Audio.StopAllSounds();
2023-02-28 06:49:40 +08:00
SceneFadeInOut.Instance.fadeOut = false;
SceneFadeInOut.Instance.fadeIn = true;
clickedFlag = true;
2023-02-04 00:04:25 +08:00
}
});
}
else
{
Debug.LogError("Failed to register button action for ChangeSceneButton.");
2023-02-04 00:04:25 +08:00
}
}
protected override void update()
{
2023-02-28 06:49:40 +08:00
if (clickedFlag && sceneID != 0 && SceneFadeInOut.Instance.alphaValue >= 1.0f)
{
SceneManager.ChangeScene(sceneID);
}
}
}