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(); if (ui != null) { ui.OnRelease.RegisterAction(() => { if (sceneID != 0) { Audio.PlaySFXOnce2D("event:/UI/success"); Audio.StopAllSounds(); SceneFadeInOut.Instance.fadeOut = false; SceneFadeInOut.Instance.fadeIn = true; clickedFlag = true; } }); } else { Debug.LogError("Failed to register button action for ChangeSceneButton."); } } protected override void update() { if (clickedFlag && sceneID != 0 && SceneFadeInOut.Instance.alphaValue >= 1.0f) { SceneManager.ChangeScene(sceneID); } } }