From a4283c93bc239432c00a087b5578ce8ac2bfba5f Mon Sep 17 00:00:00 2001 From: DoctorStupidest <88569014+DoctorStupidest@users.noreply.github.com> Date: Tue, 2 Jan 2024 07:51:44 -0800 Subject: [PATCH] Title screen logo skip (#602) * commit * update --------- Co-authored-by: DoctorStupidest <> --- Assets/Scripts/TitleManager.cs | 71 +++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 27 deletions(-) diff --git a/Assets/Scripts/TitleManager.cs b/Assets/Scripts/TitleManager.cs index 0c41447b..ad392d58 100644 --- a/Assets/Scripts/TitleManager.cs +++ b/Assets/Scripts/TitleManager.cs @@ -122,45 +122,52 @@ namespace HeavenStudio selectedDisplayAnim.DoNormalizedAnimation("Idle", GetPositionFromBeat(0, 2)); } - if (logoRevealed && !menuMode) + if (!menuMode && songPosBeat >= 0.5) { var controllers = PlayerInput.GetInputControllers(); foreach (var newController in controllers) { if (newController.GetLastButtonDown(true) > 0) { - menuMode = true; - firstPress = true; - currentSelectable = defaultSelectable; - SetSelectableRectTarget(currentSelectable); - selectableLerpTimer = 1; - - menuAnim.Play("Revealed", 0, 0); - pressAnyKeyAnim.Play("PressKeyFadeOut", 0, 0); - SoundByte.PlayOneShot("ui/UIEnter"); - - Debug.Log("Assigning controller: " + newController.GetDeviceName()); - - var lastController = PlayerInput.GetInputController(1); - if (lastController != newController) + if (logoRevealed) { - lastController.SetPlayer(null); - newController.SetPlayer(1); - PlayerInput.CurrentControlStyle = newController.GetDefaultStyle(); - usingMouse = PlayerInput.CurrentControlStyle == InputController.ControlStyles.Touch; - selectedDisplayIcon.SetActive(!usingMouse); + menuMode = true; + firstPress = true; + currentSelectable = defaultSelectable; + SetSelectableRectTarget(currentSelectable); + selectableLerpTimer = 1; - if ((lastController as InputJoyshock) != null) - { - (lastController as InputJoyshock)?.UnAssignOtherHalf(); - } + menuAnim.Play("Revealed", 0, 0); + pressAnyKeyAnim.Play("PressKeyFadeOut", 0, 0); + SoundByte.PlayOneShot("ui/UIEnter"); - if ((newController as InputJoyshock) != null) + Debug.Log("Assigning controller: " + newController.GetDeviceName()); + + var lastController = PlayerInput.GetInputController(1); + if (lastController != newController) { - newController.OnSelected(); - (newController as InputJoyshock)?.UnAssignOtherHalf(); + lastController.SetPlayer(null); + newController.SetPlayer(1); + PlayerInput.CurrentControlStyle = newController.GetDefaultStyle(); + usingMouse = PlayerInput.CurrentControlStyle == InputController.ControlStyles.Touch; + selectedDisplayIcon.SetActive(!usingMouse); + + if ((lastController as InputJoyshock) != null) + { + (lastController as InputJoyshock)?.UnAssignOtherHalf(); + } + + if ((newController as InputJoyshock) != null) + { + newController.OnSelected(); + (newController as InputJoyshock)?.UnAssignOtherHalf(); + } } } + else + { + SkipToBeat(5); + } } } } @@ -418,6 +425,16 @@ namespace HeavenStudio return a; } + public void SkipToBeat(double beat) + { + if (songPosBeat >= beat) return; + double seconds = BeatsToSecs(beat, bpm); + time = seconds; + songPos = time + offset; + songPosBeat = SecsToBeats(songPos); + musicSource.time = (float)time; + } + public void CreatePressed() { if (exiting) return;