SHADE_Y3/Assets/Scripts/UI/SC_ChangeSceneButton.cs

48 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)
{
2023-03-02 15:47:00 +08:00
Audio.PlaySFXOnce2D("event:/UI/success");
Audio.StopAllSounds();
if (SceneFadeInOut.Instance != null)
2023-03-01 17:36:02 +08:00
SceneFadeInOut.Instance.CallFadeIn();
2023-03-02 15:47:00 +08:00
clickedFlag = true;
2023-02-04 00:04:25 +08:00
}
});
}
else
{
Debug.LogError("Failed to register button action for ChangeSceneButton.");
}
}
protected override void update()
{
2023-03-01 17:36:02 +08:00
if (clickedFlag && sceneID != 0 && SceneFadeInOut.Instance.FadeInFinished())
2023-02-28 06:49:40 +08:00
{
SceneManager.ChangeScene(sceneID);
}
}
}