BurstLinq
make BGM resync when changing pitch (to test)
This commit is contained in:
parent
ff4b3523af
commit
317b3413f3
|
@ -5,7 +5,6 @@ using UnityEngine;
|
||||||
|
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
using HeavenStudio.Util;
|
using HeavenStudio.Util;
|
||||||
using System.Data.Common;
|
|
||||||
|
|
||||||
namespace HeavenStudio
|
namespace HeavenStudio
|
||||||
{
|
{
|
||||||
|
@ -20,6 +19,8 @@ namespace HeavenStudio
|
||||||
|
|
||||||
public List<AddedPitchChange> addedPitchChanges = new List<AddedPitchChange>();
|
public List<AddedPitchChange> addedPitchChanges = new List<AddedPitchChange>();
|
||||||
|
|
||||||
|
public GameManager gameManager;
|
||||||
|
|
||||||
// Song beats per minute
|
// Song beats per minute
|
||||||
// This is determined by the song you're trying to sync up to
|
// This is determined by the song you're trying to sync up to
|
||||||
public float songBpm;
|
public float songBpm;
|
||||||
|
@ -95,7 +96,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
public void SetTimelinePitch(float pitch)
|
public void SetTimelinePitch(float pitch)
|
||||||
{
|
{
|
||||||
if (isPaused) return;
|
if (isPaused || deferTimeKeeping) return;
|
||||||
if (pitch != 0 && pitch != timelinePitch)
|
if (pitch != 0 && pitch != timelinePitch)
|
||||||
{
|
{
|
||||||
Debug.Log("added pitch change " + pitch * minigamePitch + " at " + absTime);
|
Debug.Log("added pitch change " + pitch * minigamePitch + " at " + absTime);
|
||||||
|
@ -106,12 +107,16 @@ namespace HeavenStudio
|
||||||
if (musicSource != null && musicSource.clip != null)
|
if (musicSource != null && musicSource.clip != null)
|
||||||
{
|
{
|
||||||
musicSource.pitch = SongPitch;
|
musicSource.pitch = SongPitch;
|
||||||
|
time = MapTimeToPitchChanges(absTime + absTimeAdjust);
|
||||||
|
songPos = startPos + time;
|
||||||
|
songPosBeat = GetBeatFromSongPos(songPos);
|
||||||
|
SeekMusicToTime(songPos, firstBeatOffset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetMinigamePitch(float pitch)
|
public void SetMinigamePitch(float pitch)
|
||||||
{
|
{
|
||||||
if (isPaused || !isPlaying) return;
|
if (isPaused || deferTimeKeeping || !isPlaying) return;
|
||||||
if (pitch != 0 && pitch != minigamePitch)
|
if (pitch != 0 && pitch != minigamePitch)
|
||||||
{
|
{
|
||||||
Debug.Log("added pitch change " + pitch * timelinePitch + " at " + absTime);
|
Debug.Log("added pitch change " + pitch * timelinePitch + " at " + absTime);
|
||||||
|
@ -122,6 +127,10 @@ namespace HeavenStudio
|
||||||
if (musicSource != null && musicSource.clip != null)
|
if (musicSource != null && musicSource.clip != null)
|
||||||
{
|
{
|
||||||
musicSource.pitch = SongPitch;
|
musicSource.pitch = SongPitch;
|
||||||
|
time = MapTimeToPitchChanges(absTime + absTimeAdjust);
|
||||||
|
songPos = startPos + time;
|
||||||
|
songPosBeat = GetBeatFromSongPos(songPos);
|
||||||
|
SeekMusicToTime(songPos, firstBeatOffset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,7 +150,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
public void SetBeat(double beat)
|
public void SetBeat(double beat)
|
||||||
{
|
{
|
||||||
var chart = GameManager.instance.Beatmap;
|
var chart = gameManager.Beatmap;
|
||||||
double offset = chart.data.offset;
|
double offset = chart.data.offset;
|
||||||
startPos = GetSongPosFromBeat(beat);
|
startPos = GetSongPosFromBeat(beat);
|
||||||
|
|
||||||
|
@ -154,7 +163,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
songPosBeat = GetBeatFromSongPos(time);
|
songPosBeat = GetBeatFromSongPos(time);
|
||||||
|
|
||||||
GameManager.instance.SetCurrentEventToClosest(beat);
|
gameManager.SetCurrentEventToClosest(beat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PlaySetup(double beat)
|
public void PlaySetup(double beat)
|
||||||
|
@ -183,7 +192,7 @@ namespace HeavenStudio
|
||||||
SetMinigameVolume(1f);
|
SetMinigameVolume(1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
RiqBeatmap chart = GameManager.instance.Beatmap;
|
RiqBeatmap chart = gameManager.Beatmap;
|
||||||
double offset = chart.data.offset;
|
double offset = chart.data.offset;
|
||||||
double dspTime = AudioSettings.dspTime;
|
double dspTime = AudioSettings.dspTime;
|
||||||
dspStart = dspTime;
|
dspStart = dspTime;
|
||||||
|
@ -474,14 +483,14 @@ namespace HeavenStudio
|
||||||
|
|
||||||
private List<RiqEntity> GetSortedTempoChanges()
|
private List<RiqEntity> GetSortedTempoChanges()
|
||||||
{
|
{
|
||||||
GameManager.instance.SortEventsList();
|
gameManager.SortEventsList();
|
||||||
return GameManager.instance.Beatmap.TempoChanges;
|
return gameManager.Beatmap.TempoChanges;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float GetBpmAtBeat(double beat, out float swingRatio)
|
public float GetBpmAtBeat(double beat, out float swingRatio)
|
||||||
{
|
{
|
||||||
swingRatio = 0.5f;
|
swingRatio = 0.5f;
|
||||||
var chart = GameManager.instance.Beatmap;
|
var chart = gameManager.Beatmap;
|
||||||
if (chart.TempoChanges.Count == 0)
|
if (chart.TempoChanges.Count == 0)
|
||||||
return 120f;
|
return 120f;
|
||||||
float bpm = chart.TempoChanges[0]["tempo"];
|
float bpm = chart.TempoChanges[0]["tempo"];
|
||||||
|
@ -532,7 +541,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
public double GetSongPosFromBeat(double beat)
|
public double GetSongPosFromBeat(double beat)
|
||||||
{
|
{
|
||||||
var chart = GameManager.instance.Beatmap;
|
var chart = gameManager.Beatmap;
|
||||||
float bpm = 120f;
|
float bpm = 120f;
|
||||||
|
|
||||||
double counter = 0f;
|
double counter = 0f;
|
||||||
|
@ -572,7 +581,7 @@ namespace HeavenStudio
|
||||||
double counterSeconds = 0;
|
double counterSeconds = 0;
|
||||||
float lastBpm = 120f;
|
float lastBpm = 120f;
|
||||||
|
|
||||||
foreach (RiqEntity t in GameManager.instance.Beatmap.TempoChanges)
|
foreach (RiqEntity t in gameManager.Beatmap.TempoChanges)
|
||||||
{
|
{
|
||||||
double beatToNext = t.beat - lastTempoChangeBeat;
|
double beatToNext = t.beat - lastTempoChangeBeat;
|
||||||
double secToNext = BeatsToSecs(beatToNext, lastBpm);
|
double secToNext = BeatsToSecs(beatToNext, lastBpm);
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
|
|
|
@ -4,6 +4,7 @@ using UnityEngine;
|
||||||
|
|
||||||
using HeavenStudio.Util;
|
using HeavenStudio.Util;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
using Jukebox.Legacy;
|
using Jukebox.Legacy;
|
||||||
|
|
||||||
|
|
|
@ -86,11 +86,13 @@ namespace HeavenStudio
|
||||||
GameObject Conductor = new GameObject();
|
GameObject Conductor = new GameObject();
|
||||||
Conductor.name = "Conductor";
|
Conductor.name = "Conductor";
|
||||||
AudioSource source = Conductor.AddComponent<AudioSource>();
|
AudioSource source = Conductor.AddComponent<AudioSource>();
|
||||||
Conductor.AddComponent<Conductor>();
|
Conductor cond = Conductor.AddComponent<Conductor>();
|
||||||
Conductor.GetComponent<Conductor>().musicSource = source;
|
cond.musicSource = source;
|
||||||
source.priority = 255;
|
source.priority = 255;
|
||||||
source.outputAudioMixerGroup = Settings.GetMusicMixer();
|
source.outputAudioMixerGroup = Settings.GetMusicMixer();
|
||||||
// Conductor.AddComponent<AudioDspTimeKeeper>();
|
cond.gameManager = gameManager;
|
||||||
|
|
||||||
|
gameManager.conductor = cond;
|
||||||
|
|
||||||
GlobalGameManager.GameRenderTexture = gameRenderTexture;
|
GlobalGameManager.GameRenderTexture = gameRenderTexture;
|
||||||
GlobalGameManager.OverlayRenderTexture = overlayRenderTexture;
|
GlobalGameManager.OverlayRenderTexture = overlayRenderTexture;
|
||||||
|
|
|
@ -2,6 +2,8 @@ using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Pool;
|
using UnityEngine.Pool;
|
||||||
|
|
||||||
|
@ -87,6 +89,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
public static GameManager instance { get; private set; }
|
public static GameManager instance { get; private set; }
|
||||||
private EventCaller eventCaller;
|
private EventCaller eventCaller;
|
||||||
|
public Conductor conductor;
|
||||||
|
|
||||||
// average input accuracy (msec)
|
// average input accuracy (msec)
|
||||||
List<int> inputOffsetSamples = new List<int>();
|
List<int> inputOffsetSamples = new List<int>();
|
||||||
|
@ -173,9 +176,9 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
|
|
||||||
SortEventsList();
|
SortEventsList();
|
||||||
Conductor.instance.SetBpm(Beatmap.TempoChanges[0]["tempo"]);
|
conductor.SetBpm(Beatmap.TempoChanges[0]["tempo"]);
|
||||||
Conductor.instance.SetVolume(Beatmap.VolumeChanges[0]["volume"]);
|
conductor.SetVolume(Beatmap.VolumeChanges[0]["volume"]);
|
||||||
Conductor.instance.firstBeatOffset = Beatmap.data.offset;
|
conductor.firstBeatOffset = Beatmap.data.offset;
|
||||||
|
|
||||||
if (!preLoaded)
|
if (!preLoaded)
|
||||||
{
|
{
|
||||||
|
@ -240,7 +243,7 @@ namespace HeavenStudio
|
||||||
Beatmap.AddNewTempoChange(0, 120f);
|
Beatmap.AddNewTempoChange(0, 120f);
|
||||||
Beatmap.AddNewVolumeChange(0, 100f);
|
Beatmap.AddNewVolumeChange(0, 100f);
|
||||||
Beatmap.data.offset = 0f;
|
Beatmap.data.offset = 0f;
|
||||||
Conductor.instance.musicSource.clip = null;
|
conductor.musicSource.clip = null;
|
||||||
RiqFileHandler.WriteRiq(Beatmap);
|
RiqFileHandler.WriteRiq(Beatmap);
|
||||||
AudioLoadDone = true;
|
AudioLoadDone = true;
|
||||||
}
|
}
|
||||||
|
@ -263,7 +266,7 @@ namespace HeavenStudio
|
||||||
catch (System.IO.FileNotFoundException f)
|
catch (System.IO.FileNotFoundException f)
|
||||||
{
|
{
|
||||||
Debug.LogWarning("chart has no music: " + f.Message);
|
Debug.LogWarning("chart has no music: " + f.Message);
|
||||||
Conductor.instance.musicSource.clip = null;
|
conductor.musicSource.clip = null;
|
||||||
AudioLoadDone = true;
|
AudioLoadDone = true;
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
|
@ -277,7 +280,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
yield return current;
|
yield return current;
|
||||||
}
|
}
|
||||||
Conductor.instance.musicSource.clip = RiqFileHandler.StreamedAudioClip;
|
conductor.musicSource.clip = RiqFileHandler.StreamedAudioClip;
|
||||||
AudioLoadDone = true;
|
AudioLoadDone = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -299,9 +302,9 @@ namespace HeavenStudio
|
||||||
if (!editor)
|
if (!editor)
|
||||||
StartCoroutine(LoadMusic());
|
StartCoroutine(LoadMusic());
|
||||||
SortEventsList();
|
SortEventsList();
|
||||||
Conductor.instance.SetBpm(Beatmap.TempoChanges[0]["tempo"]);
|
conductor.SetBpm(Beatmap.TempoChanges[0]["tempo"]);
|
||||||
Conductor.instance.SetVolume(Beatmap.VolumeChanges[0]["volume"]);
|
conductor.SetVolume(Beatmap.VolumeChanges[0]["volume"]);
|
||||||
Conductor.instance.firstBeatOffset = Beatmap.data.offset;
|
conductor.firstBeatOffset = Beatmap.data.offset;
|
||||||
if (!playMode)
|
if (!playMode)
|
||||||
{
|
{
|
||||||
Stop(0);
|
Stop(0);
|
||||||
|
@ -459,9 +462,9 @@ namespace HeavenStudio
|
||||||
{
|
{
|
||||||
if (BeatmapEntities() < 1)
|
if (BeatmapEntities() < 1)
|
||||||
return;
|
return;
|
||||||
if (!Conductor.instance.isPlaying)
|
if (!conductor.isPlaying)
|
||||||
return;
|
return;
|
||||||
Conductor cond = Conductor.instance;
|
Conductor cond = conductor;
|
||||||
double clampedBeat = Math.Max(cond.songPositionInBeatsAsDouble, 0);
|
double clampedBeat = Math.Max(cond.songPositionInBeatsAsDouble, 0);
|
||||||
|
|
||||||
if (currentTempoEvent < Beatmap.TempoChanges.Count && currentTempoEvent >= 0)
|
if (currentTempoEvent < Beatmap.TempoChanges.Count && currentTempoEvent >= 0)
|
||||||
|
@ -543,7 +546,7 @@ namespace HeavenStudio
|
||||||
List<RiqEntity> entitiesInRange = ListPool<RiqEntity>.Get();
|
List<RiqEntity> entitiesInRange = ListPool<RiqEntity>.Get();
|
||||||
List<RiqEntity> fxEntities = ListPool<RiqEntity>.Get();
|
List<RiqEntity> fxEntities = ListPool<RiqEntity>.Get();
|
||||||
// allows for multiple events on the same beat to be executed on the same frame, so no more 1-frame delay
|
// allows for multiple events on the same beat to be executed on the same frame, so no more 1-frame delay
|
||||||
while (currentEvent < eventBeats.Count && clampedBeat >= eventBeats[currentEvent] && Conductor.instance.isPlaying)
|
while (currentEvent < eventBeats.Count && clampedBeat >= eventBeats[currentEvent] && conductor.isPlaying)
|
||||||
{
|
{
|
||||||
fxEntities.Clear();
|
fxEntities.Clear();
|
||||||
entitiesInRange.Clear();
|
entitiesInRange.Clear();
|
||||||
|
@ -609,10 +612,10 @@ namespace HeavenStudio
|
||||||
{
|
{
|
||||||
OverlaysManager.instance.TogleOverlaysVisibility(Editor.Editor.instance == null || Editor.Editor.instance.fullscreen || ((PersistentDataManager.gameSettings.overlaysInEditor) && (!Editor.Editor.instance.fullscreen)) || HeavenStudio.Editor.GameSettings.InPreview);
|
OverlaysManager.instance.TogleOverlaysVisibility(Editor.Editor.instance == null || Editor.Editor.instance.fullscreen || ((PersistentDataManager.gameSettings.overlaysInEditor) && (!Editor.Editor.instance.fullscreen)) || HeavenStudio.Editor.GameSettings.InPreview);
|
||||||
|
|
||||||
if (!Conductor.instance.isPlaying)
|
if (!conductor.isPlaying)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (Conductor.instance.songPositionInBeatsAsDouble >= Math.Ceiling(_playStartBeat) + _latePulseTally)
|
if (conductor.songPositionInBeatsAsDouble >= Math.Ceiling(_playStartBeat) + _latePulseTally)
|
||||||
{
|
{
|
||||||
if (minigame != null) minigame.OnLateBeatPulse(Math.Ceiling(_playStartBeat) + _latePulseTally);
|
if (minigame != null) minigame.OnLateBeatPulse(Math.Ceiling(_playStartBeat) + _latePulseTally);
|
||||||
onBeatPulse?.Invoke(Math.Ceiling(_playStartBeat) + _latePulseTally);
|
onBeatPulse?.Invoke(Math.Ceiling(_playStartBeat) + _latePulseTally);
|
||||||
|
@ -668,7 +671,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
public void Play(double beat, float delay = 0f)
|
public void Play(double beat, float delay = 0f)
|
||||||
{
|
{
|
||||||
bool paused = Conductor.instance.isPaused;
|
bool paused = conductor.isPaused;
|
||||||
Debug.Log("Playing at " + beat);
|
Debug.Log("Playing at " + beat);
|
||||||
_playStartBeat = beat;
|
_playStartBeat = beat;
|
||||||
_pulseTally = 0;
|
_pulseTally = 0;
|
||||||
|
@ -711,13 +714,13 @@ namespace HeavenStudio
|
||||||
|
|
||||||
private IEnumerator PlayCo(double beat, float delay = 0f)
|
private IEnumerator PlayCo(double beat, float delay = 0f)
|
||||||
{
|
{
|
||||||
bool paused = Conductor.instance.isPaused;
|
bool paused = conductor.isPaused;
|
||||||
|
|
||||||
if (!paused)
|
if (!paused)
|
||||||
{
|
{
|
||||||
Conductor.instance.SetBpm(Beatmap.TempoChanges[0]["tempo"]);
|
conductor.SetBpm(Beatmap.TempoChanges[0]["tempo"]);
|
||||||
Conductor.instance.SetVolume(Beatmap.VolumeChanges[0]["volume"]);
|
conductor.SetVolume(Beatmap.VolumeChanges[0]["volume"]);
|
||||||
Conductor.instance.firstBeatOffset = Beatmap.data.offset;
|
conductor.firstBeatOffset = Beatmap.data.offset;
|
||||||
SetCurrentEventToClosest(beat);
|
SetCurrentEventToClosest(beat);
|
||||||
KillAllSounds();
|
KillAllSounds();
|
||||||
|
|
||||||
|
@ -726,7 +729,7 @@ namespace HeavenStudio
|
||||||
yield return new WaitForSeconds(delay);
|
yield return new WaitForSeconds(delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
Conductor.instance.PlaySetup(beat);
|
conductor.PlaySetup(beat);
|
||||||
Minigame miniGame = null;
|
Minigame miniGame = null;
|
||||||
if (minigameObj != null && minigameObj.TryGetComponent<Minigame>(out miniGame))
|
if (minigameObj != null && minigameObj.TryGetComponent<Minigame>(out miniGame))
|
||||||
{
|
{
|
||||||
|
@ -765,21 +768,21 @@ namespace HeavenStudio
|
||||||
CircleCursor.LockCursor(true);
|
CircleCursor.LockCursor(true);
|
||||||
}
|
}
|
||||||
Application.backgroundLoadingPriority = ThreadPriority.Low;
|
Application.backgroundLoadingPriority = ThreadPriority.Low;
|
||||||
Conductor.instance.Play(beat);
|
conductor.Play(beat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Pause()
|
public void Pause()
|
||||||
{
|
{
|
||||||
Conductor.instance.Pause();
|
conductor.Pause();
|
||||||
Util.SoundByte.PauseOneShots();
|
Util.SoundByte.PauseOneShots();
|
||||||
onPause?.Invoke(Conductor.instance.songPositionInBeatsAsDouble);
|
onPause?.Invoke(conductor.songPositionInBeatsAsDouble);
|
||||||
canInput = false;
|
canInput = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Stop(double beat, bool restart = false, float restartDelay = 0f)
|
public void Stop(double beat, bool restart = false, float restartDelay = 0f)
|
||||||
{
|
{
|
||||||
// I feel like I should standardize the names
|
// I feel like I should standardize the names
|
||||||
if (Conductor.instance.isPlaying)
|
if (conductor.isPlaying)
|
||||||
{
|
{
|
||||||
SkillStarManager.instance.KillStar();
|
SkillStarManager.instance.KillStar();
|
||||||
TimingAccuracyDisplay.instance.StopStarFlash();
|
TimingAccuracyDisplay.instance.StopStarFlash();
|
||||||
|
@ -796,7 +799,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Conductor.instance.Stop(beat);
|
conductor.Stop(beat);
|
||||||
SetCurrentEventToClosest(beat);
|
SetCurrentEventToClosest(beat);
|
||||||
|
|
||||||
KillAllSounds();
|
KillAllSounds();
|
||||||
|
@ -1023,12 +1026,12 @@ namespace HeavenStudio
|
||||||
if (allEnds.Count > 0)
|
if (allEnds.Count > 0)
|
||||||
endBeat = allEnds.Select(c => c.beat).Min();
|
endBeat = allEnds.Select(c => c.beat).Min();
|
||||||
else
|
else
|
||||||
endBeat = Conductor.instance.SongLengthInBeatsAsDouble();
|
endBeat = conductor.SongLengthInBeatsAsDouble();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetGame("noGame");
|
SetGame("noGame");
|
||||||
endBeat = Conductor.instance.SongLengthInBeatsAsDouble();
|
endBeat = conductor.SongLengthInBeatsAsDouble();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Beatmap.TempoChanges.Count > 0)
|
if (Beatmap.TempoChanges.Count > 0)
|
||||||
|
@ -1112,9 +1115,9 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while (beat + 0.25 > Math.Max(Conductor.instance.songPositionInBeatsAsDouble, 0))
|
while (beat + 0.25 > Math.Max(conductor.songPositionInBeatsAsDouble, 0))
|
||||||
{
|
{
|
||||||
if (!Conductor.instance.isPlaying)
|
if (!conductor.isPlaying)
|
||||||
{
|
{
|
||||||
HeavenStudio.StaticCamera.instance.ToggleCanvasVisibility(true);
|
HeavenStudio.StaticCamera.instance.ToggleCanvasVisibility(true);
|
||||||
SetAmbientGlowToCurrentMinigameColor();
|
SetAmbientGlowToCurrentMinigameColor();
|
||||||
|
@ -1141,7 +1144,7 @@ namespace HeavenStudio
|
||||||
this.minigame = minigame;
|
this.minigame = minigame;
|
||||||
minigame.minigameName = game;
|
minigame.minigameName = game;
|
||||||
minigame.gameManager = this;
|
minigame.gameManager = this;
|
||||||
minigame.conductor = Conductor.instance;
|
minigame.conductor = conductor;
|
||||||
}
|
}
|
||||||
Vector3 originalScale = minigameObj.transform.localScale;
|
Vector3 originalScale = minigameObj.transform.localScale;
|
||||||
minigameObj.transform.parent = eventCaller.GamesHolder.transform;
|
minigameObj.transform.parent = eventCaller.GamesHolder.transform;
|
||||||
|
@ -1300,8 +1303,8 @@ namespace HeavenStudio
|
||||||
|
|
||||||
private bool SongPosLessThanClipLength(float t)
|
private bool SongPosLessThanClipLength(float t)
|
||||||
{
|
{
|
||||||
if (Conductor.instance.musicSource.clip != null)
|
if (conductor.musicSource.clip != null)
|
||||||
return Conductor.instance.GetSongPosFromBeat(t) < Conductor.instance.musicSource.clip.length;
|
return conductor.GetSongPosFromBeat(t) < conductor.musicSource.clip.length;
|
||||||
else
|
else
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ using HeavenStudio.Common;
|
||||||
using HeavenStudio.InputSystem;
|
using HeavenStudio.InputSystem;
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
|
|
||||||
namespace HeavenStudio.Games
|
namespace HeavenStudio.Games
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
using HeavenStudio.InputSystem;
|
using HeavenStudio.InputSystem;
|
||||||
|
|
|
@ -15,6 +15,7 @@ using HeavenStudio.StudioDance;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor
|
namespace HeavenStudio.Editor
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,6 +9,7 @@ using TMPro;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
|
|
||||||
using HeavenStudio.Util;
|
using HeavenStudio.Util;
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ using UnityEngine.Pool;
|
||||||
|
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor.Track
|
namespace HeavenStudio.Editor.Track
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,6 +16,7 @@ using SatorImaging.UnitySourceGenerator;
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
using UnityEngine.Assertions.Must;
|
using UnityEngine.Assertions.Must;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ using HeavenStudio.Common;
|
||||||
using HeavenStudio.InputSystem;
|
using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
|
|
||||||
using SFB;
|
using SFB;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Cysharp.Threading.Tasks;
|
using Cysharp.Threading.Tasks;
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BurstLinq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Cysharp.Threading.Tasks;
|
using Cysharp.Threading.Tasks;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"com.annulusgames.burst-linq": "https://github.com/AnnulusGames/BurstLinq.git?path=/Assets/BurstLinq",
|
||||||
"com.coffee.softmask-for-ugui": "https://github.com/mob-sakai/SoftMaskForUGUI.git",
|
"com.coffee.softmask-for-ugui": "https://github.com/mob-sakai/SoftMaskForUGUI.git",
|
||||||
"com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask",
|
"com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask",
|
||||||
"com.nobi.roundedcorners": "https://github.com/kirevdokimov/Unity-UI-Rounded-Corners.git",
|
"com.nobi.roundedcorners": "https://github.com/kirevdokimov/Unity-UI-Rounded-Corners.git",
|
||||||
|
@ -10,7 +11,8 @@
|
||||||
"com.tayx.graphy": "https://github.com/Tayx94/graphy.git",
|
"com.tayx.graphy": "https://github.com/Tayx94/graphy.git",
|
||||||
"com.unity.2d.sprite": "1.0.0",
|
"com.unity.2d.sprite": "1.0.0",
|
||||||
"com.unity.assetbundlebrowser": "https://github.com/Unity-Technologies/AssetBundles-Browser.git",
|
"com.unity.assetbundlebrowser": "https://github.com/Unity-Technologies/AssetBundles-Browser.git",
|
||||||
"com.unity.collab-proxy": "2.0.1",
|
"com.unity.burst": "1.6.6",
|
||||||
|
"com.unity.collections": "1.2.4",
|
||||||
"com.unity.ide.rider": "3.0.18",
|
"com.unity.ide.rider": "3.0.18",
|
||||||
"com.unity.ide.visualstudio": "2.0.22",
|
"com.unity.ide.visualstudio": "2.0.22",
|
||||||
"com.unity.nuget.newtonsoft-json": "3.0.2",
|
"com.unity.nuget.newtonsoft-json": "3.0.2",
|
||||||
|
|
|
@ -1,5 +1,12 @@
|
||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"com.annulusgames.burst-linq": {
|
||||||
|
"version": "https://github.com/AnnulusGames/BurstLinq.git?path=/Assets/BurstLinq",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "git",
|
||||||
|
"dependencies": {},
|
||||||
|
"hash": "fc354905c8e40b1491ea8a750ee722ee07adf484"
|
||||||
|
},
|
||||||
"com.coffee.softmask-for-ugui": {
|
"com.coffee.softmask-for-ugui": {
|
||||||
"version": "https://github.com/mob-sakai/SoftMaskForUGUI.git",
|
"version": "https://github.com/mob-sakai/SoftMaskForUGUI.git",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
|
@ -74,11 +81,23 @@
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"hash": "b7c279278d1a343c6957c9f15b45173d3211f01c"
|
"hash": "b7c279278d1a343c6957c9f15b45173d3211f01c"
|
||||||
},
|
},
|
||||||
"com.unity.collab-proxy": {
|
"com.unity.burst": {
|
||||||
"version": "2.0.1",
|
"version": "1.6.6",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {
|
||||||
|
"com.unity.mathematics": "1.2.1"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.collections": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.burst": "1.6.6",
|
||||||
|
"com.unity.test-framework": "1.1.31"
|
||||||
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.ext.nunit": {
|
"com.unity.ext.nunit": {
|
||||||
|
@ -106,6 +125,13 @@
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
|
"com.unity.mathematics": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"depth": 1,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
"com.unity.nuget.newtonsoft-json": {
|
"com.unity.nuget.newtonsoft-json": {
|
||||||
"version": "3.2.1",
|
"version": "3.2.1",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
|
|
17
ProjectSettings/BurstAotSettings_StandaloneWindows.json
Normal file
17
ProjectSettings/BurstAotSettings_StandaloneWindows.json
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"MonoBehaviour": {
|
||||||
|
"Version": 4,
|
||||||
|
"EnableBurstCompilation": true,
|
||||||
|
"EnableOptimisations": true,
|
||||||
|
"EnableSafetyChecks": false,
|
||||||
|
"EnableDebugInAllBuilds": false,
|
||||||
|
"UsePlatformSDKLinker": false,
|
||||||
|
"CpuMinTargetX32": 0,
|
||||||
|
"CpuMaxTargetX32": 0,
|
||||||
|
"CpuMinTargetX64": 0,
|
||||||
|
"CpuMaxTargetX64": 0,
|
||||||
|
"CpuTargetsX32": 6,
|
||||||
|
"CpuTargetsX64": 72,
|
||||||
|
"OptimizeFor": 0
|
||||||
|
}
|
||||||
|
}
|
6
ProjectSettings/CommonBurstAotSettings.json
Normal file
6
ProjectSettings/CommonBurstAotSettings.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"MonoBehaviour": {
|
||||||
|
"Version": 4,
|
||||||
|
"DisabledWarnings": ""
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@ PlayerSettings:
|
||||||
16:10: 1
|
16:10: 1
|
||||||
16:9: 1
|
16:9: 1
|
||||||
Others: 1
|
Others: 1
|
||||||
bundleVersion: 1.0.9
|
bundleVersion: 1.0.10
|
||||||
preloadedAssets:
|
preloadedAssets:
|
||||||
- {fileID: 102900000, guid: 5348c08b82446e0478cee8bda6c02cfc, type: 3}
|
- {fileID: 102900000, guid: 5348c08b82446e0478cee8bda6c02cfc, type: 3}
|
||||||
metroInputSource: 0
|
metroInputSource: 0
|
||||||
|
@ -158,11 +158,11 @@ PlayerSettings:
|
||||||
applicationIdentifier:
|
applicationIdentifier:
|
||||||
Standalone: com.RHeavenStudio.Heaven-Studio
|
Standalone: com.RHeavenStudio.Heaven-Studio
|
||||||
buildNumber:
|
buildNumber:
|
||||||
Standalone: 100009
|
Standalone: 100010
|
||||||
iPhone: 0
|
iPhone: 0
|
||||||
tvOS: 0
|
tvOS: 0
|
||||||
overrideDefaultApplicationIdentifier: 0
|
overrideDefaultApplicationIdentifier: 0
|
||||||
AndroidBundleVersionCode: 100009
|
AndroidBundleVersionCode: 100010
|
||||||
AndroidMinSdkVersion: 22
|
AndroidMinSdkVersion: 22
|
||||||
AndroidTargetSdkVersion: 0
|
AndroidTargetSdkVersion: 0
|
||||||
AndroidPreferredInstallLocation: 1
|
AndroidPreferredInstallLocation: 1
|
||||||
|
|
|
@ -16,6 +16,31 @@ MonoBehaviour:
|
||||||
AutoEmitDisabledPaths: []
|
AutoEmitDisabledPaths: []
|
||||||
DenseViewWidthThreshold: 512
|
DenseViewWidthThreshold: 512
|
||||||
_disableAutoReloadInBackground: 0
|
_disableAutoReloadInBackground: 0
|
||||||
ImportedScriptPaths: []
|
ImportedScriptPaths:
|
||||||
|
- Assets/Scripts/Games/GleeClub/GleeClub.cs
|
||||||
|
- Assets/Scripts/Minigames.cs
|
||||||
|
- Assets/Scripts/LevelEditor/Editor.cs
|
||||||
|
- Assets/Scripts/Games/FreezeFrame/Car.cs
|
||||||
|
- Assets/Scripts/Games/Fillbots/Fillbots.cs
|
||||||
|
- Assets/Scripts/Games/Fillbots/FullBody.cs
|
||||||
|
- Assets/Scripts/Games/CatchOfTheDay/CatchOfTheDay.cs
|
||||||
|
- Assets/Scripts/Util/ParticleSystemHelpers.cs
|
||||||
|
- Assets/Scripts/Games/Fillbots/NtrFillbot.cs
|
||||||
|
- Assets/Scripts/USG.g/LoadMinigames.Minigames.MinigameLoaderGenerator.g.cs
|
||||||
|
- Assets/Scripts/Games/FreezeFrame/FreezeFrame.cs
|
||||||
|
- Assets/Scripts/Games/CatchOfTheDay/LakeScene.cs
|
||||||
|
- Assets/Scripts/Conductor.cs
|
||||||
|
- Assets/Scripts/GameManager.cs
|
||||||
|
- Assets/Scripts/LevelEditor/Timeline/TimelineBlockManager.cs
|
||||||
|
- Assets/Scripts/TitleManager.cs
|
||||||
|
- Assets/Scripts/Util/MultiSound.cs
|
||||||
|
- Assets/Scripts/LevelEditor/Timeline/Timeline.cs
|
||||||
|
- Assets/Scripts/EventCaller.cs
|
||||||
|
- Assets/Scripts/Games/Minigame.cs
|
||||||
|
- Assets/Scripts/InputSystem/PlayerInput.cs
|
||||||
|
- Assets/Scripts/GameCamera.cs
|
||||||
|
- Assets/Scripts/Util/SoundByte.cs
|
||||||
|
- Assets/Scripts/GameInitializer.cs
|
||||||
|
- Assets/Scripts/AppInfo.cs
|
||||||
PathsToSkipImportEvent: []
|
PathsToSkipImportEvent: []
|
||||||
PathsToIgnoreOverwriteSettingOnAttribute: []
|
PathsToIgnoreOverwriteSettingOnAttribute: []
|
||||||
|
|
Loading…
Reference in a new issue