Removed queue
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -13,31 +13,21 @@ namespace Marro.PacManUdon
|
|||||||
// I'm not redoing this unless I get instantiatable classes before I wrap up this project.
|
// I'm not redoing this unless I get instantiatable classes before I wrap up this project.
|
||||||
bool currentlyInTimeSequence;
|
bool currentlyInTimeSequence;
|
||||||
bool waitingForTimeSequenceFinish;
|
bool waitingForTimeSequenceFinish;
|
||||||
|
bool jumpingToTimeSequence;
|
||||||
PacManTimeSequence currentTimeSequence;
|
PacManTimeSequence currentTimeSequence;
|
||||||
bool hasTimeSequenceQueued;
|
|
||||||
private DataList timeSequenceQueue;
|
|
||||||
[UdonSynced] float timeSequenceSecondsPassed;
|
[UdonSynced] float timeSequenceSecondsPassed;
|
||||||
int timeSequenceProgress;
|
int timeSequenceProgress;
|
||||||
float[] timeSequenceKeyframeTimes;
|
float[] timeSequenceKeyframeTimes;
|
||||||
|
|
||||||
private void StartTimeSequence(PacManTimeSequence timeSequence)
|
private void StartTimeSequence(PacManTimeSequence timeSequence)
|
||||||
{
|
{
|
||||||
if (timeSequenceQueue == null)
|
|
||||||
{
|
|
||||||
timeSequenceQueue = new DataList();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (currentlyInTimeSequence == true)
|
|
||||||
{
|
|
||||||
int timeSequenceInt = (int)timeSequence; // Doing the conversion in the line below crashes the script. I love working in Udon
|
|
||||||
timeSequenceQueue.Add(timeSequenceInt);
|
|
||||||
hasTimeSequenceQueued = true;
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Debug.Log($"StartTimeSequence: {timeSequence}");
|
Debug.Log($"StartTimeSequence: {timeSequence}");
|
||||||
|
|
||||||
|
if (currentlyInTimeSequence)
|
||||||
|
{
|
||||||
|
PrepareToStartTimeSequence(timeSequence);
|
||||||
|
}
|
||||||
|
|
||||||
currentlyInTimeSequence = true;
|
currentlyInTimeSequence = true;
|
||||||
currentTimeSequence = timeSequence;
|
currentTimeSequence = timeSequence;
|
||||||
timeSequenceProgress = 0;
|
timeSequenceProgress = 0;
|
||||||
@@ -45,32 +35,22 @@ namespace Marro.PacManUdon
|
|||||||
timeSequenceKeyframeTimes = GetTimeSequenceKeyframeTimes(timeSequence);
|
timeSequenceKeyframeTimes = GetTimeSequenceKeyframeTimes(timeSequence);
|
||||||
TimeSequenceProgressToTime(timeSequenceSecondsPassed);
|
TimeSequenceProgressToTime(timeSequenceSecondsPassed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void PrepareToStartTimeSequence(PacManTimeSequence timeSequence)
|
||||||
|
{
|
||||||
|
jumpingToTimeSequence = true;
|
||||||
|
TimeSequenceProgressToTime(100000f);
|
||||||
|
jumpingToTimeSequence = false;
|
||||||
|
}
|
||||||
|
|
||||||
private void TimeSequenceUpdate(float deltaSeconds)
|
private void TimeSequenceUpdate(float deltaSeconds)
|
||||||
{
|
{
|
||||||
if (!currentlyInTimeSequence && hasTimeSequenceQueued)
|
if (!currentlyInTimeSequence)
|
||||||
{
|
{
|
||||||
timeSequenceQueue.TryGetValue(0, out DataToken nextTimeSequence);
|
|
||||||
StartTimeSequence((PacManTimeSequence)nextTimeSequence.Int);
|
|
||||||
timeSequenceQueue.RemoveAt(0);
|
|
||||||
hasTimeSequenceQueued = timeSequenceQueue.Count > 0 ? true : false;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentlyInTimeSequence)
|
TimeSequenceProgressToTime(timeSequenceSecondsPassed + deltaSeconds);
|
||||||
{
|
|
||||||
if (hasTimeSequenceQueued)
|
|
||||||
{
|
|
||||||
while (currentlyInTimeSequence)
|
|
||||||
{
|
|
||||||
TimeSequenceSkipToNextStep();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
TimeSequenceProgressToTime(timeSequenceSecondsPassed + deltaSeconds);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TimeSequenceSkipToNextStep()
|
private void TimeSequenceSkipToNextStep()
|
||||||
@@ -109,7 +89,7 @@ namespace Marro.PacManUdon
|
|||||||
if (Networking.IsOwner(gameObject))
|
if (Networking.IsOwner(gameObject))
|
||||||
{
|
{
|
||||||
TimeSequenceExecuteFinalize();
|
TimeSequenceExecuteFinalize();
|
||||||
if (!hasTimeSequenceQueued)
|
if (!jumpingToTimeSequence)
|
||||||
{
|
{
|
||||||
TimeSequenceExecuteFinished();
|
TimeSequenceExecuteFinished();
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: a11df70b39ac2924c825f9951b58dafd
|
guid: 506fd020620e6d24787a909c153b2da5
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Reference in New Issue
Block a user