mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-12 11:27:39 +02:00
Play Mode Features Part 1 (#413)
* add pause menu assets * layout and animation for pause * make play mode prefab function re-assign unused class inheritance * remove filepath * don't init medals twice * remove PlayerActionObject * initial attempt at anti-note lock TODO: circumvent inputs clearing themselves making the functionality not work * properly implement input lock prevention * fix error on editor open * functional pause menu * bugfix * make unpausing not reset current play statistics * serialize initializer components in inspector instead of procedurally generating * sanity check * note for fade * make flashes in the camera prefabs instead of in world space remove / reorganize script files address issue #411 * fix bug with perfect campaign make minigame transitions hide the game canvas adjust animation of the song credits textbox * fully functional intro scene (placeholder for future title screen) refactored entire game loading procedure re-organized some files * add interaction query to disclaimer text * reword legal * anchor section medals to section display more tempo change placement controls * operation order bugfix * prep for future ratings and stats * loading text * autoload opening scene * splash screen adjustments added setting to force enable splash screen * adjust setting entry
This commit is contained in:
10
Assets/Scripts/Util/GameEvent.cs
Normal file
10
Assets/Scripts/Util/GameEvent.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace HeavenStudio.Util
|
||||
{
|
||||
public class GameEvent
|
||||
{
|
||||
public float length;
|
||||
public float startBeat;
|
||||
public float lastReportedBeat;
|
||||
public bool enabled;
|
||||
}
|
||||
}
|
11
Assets/Scripts/Util/GameEvent.cs.meta
Normal file
11
Assets/Scripts/Util/GameEvent.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a2b5bd1181291e346b57ddd994b54e8f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -56,6 +56,28 @@ namespace HeavenStudio.Util
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Pauses all currently playing sounds.
|
||||
/// </summary>
|
||||
public static void PauseOneShots()
|
||||
{
|
||||
if (oneShotAudioSource != null)
|
||||
{
|
||||
oneShotAudioSource.Pause();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Unpauses all currently playing sounds.
|
||||
/// </summary>
|
||||
public static void UnpauseOneShots()
|
||||
{
|
||||
if (oneShotAudioSource != null)
|
||||
{
|
||||
oneShotAudioSource.UnPause();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the length of an audio clip
|
||||
/// </summary>
|
||||
|
@ -43,7 +43,7 @@ namespace HeavenStudio.Util
|
||||
|
||||
if (beat == -1 && !scheduled)
|
||||
{
|
||||
audioSource.PlayScheduled(AudioSettings.dspTime);
|
||||
audioSource.Play();
|
||||
playInstant = true;
|
||||
played = true;
|
||||
startTime = cnd.songPositionAsDouble;
|
||||
@ -65,7 +65,7 @@ namespace HeavenStudio.Util
|
||||
{
|
||||
if (scheduled)
|
||||
{
|
||||
if (AudioSettings.dspTime > scheduledTime)
|
||||
if (scheduledPitch != 0 && AudioSettings.dspTime > scheduledTime)
|
||||
{
|
||||
StartCoroutine(NotRelyOnBeatSound());
|
||||
played = true;
|
||||
@ -73,7 +73,7 @@ namespace HeavenStudio.Util
|
||||
}
|
||||
else if (!playInstant)
|
||||
{
|
||||
if (AudioSettings.dspTime > startTime)
|
||||
if (scheduledPitch != 0 && AudioSettings.dspTime > startTime)
|
||||
{
|
||||
played = true;
|
||||
StartCoroutine(NotRelyOnBeatSound());
|
||||
@ -82,9 +82,21 @@ namespace HeavenStudio.Util
|
||||
{
|
||||
if (!played && scheduledPitch != cnd.SongPitch)
|
||||
{
|
||||
scheduledPitch = cnd.SongPitch;
|
||||
startTime = (AudioSettings.dspTime + (cnd.GetSongPosFromBeat(beat) - cnd.songPositionAsDouble)/(double)scheduledPitch);
|
||||
audioSource.SetScheduledStartTime(startTime);
|
||||
if (cnd.SongPitch == 0)
|
||||
{
|
||||
scheduledPitch = cnd.SongPitch;
|
||||
audioSource.Pause();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (scheduledPitch == 0)
|
||||
{
|
||||
audioSource.UnPause();
|
||||
}
|
||||
scheduledPitch = cnd.SongPitch;
|
||||
startTime = (AudioSettings.dspTime + (cnd.GetSongPosFromBeat(beat) - cnd.songPositionAsDouble)/(double)scheduledPitch);
|
||||
audioSource.SetScheduledStartTime(startTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user