Removed queue

This commit is contained in:
2025-12-26 16:23:17 +01:00
parent 8dec85e9f2
commit 16b0a348e4
3 changed files with 960 additions and 1037 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -13,31 +13,21 @@ namespace Marro.PacManUdon
// I'm not redoing this unless I get instantiatable classes before I wrap up this project.
bool currentlyInTimeSequence;
bool waitingForTimeSequenceFinish;
bool jumpingToTimeSequence;
PacManTimeSequence currentTimeSequence;
bool hasTimeSequenceQueued;
private DataList timeSequenceQueue;
[UdonSynced] float timeSequenceSecondsPassed;
int timeSequenceProgress;
float[] timeSequenceKeyframeTimes;
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}");
if (currentlyInTimeSequence)
{
PrepareToStartTimeSequence(timeSequence);
}
currentlyInTimeSequence = true;
currentTimeSequence = timeSequence;
timeSequenceProgress = 0;
@@ -46,32 +36,22 @@ namespace Marro.PacManUdon
TimeSequenceProgressToTime(timeSequenceSecondsPassed);
}
private void PrepareToStartTimeSequence(PacManTimeSequence timeSequence)
{
jumpingToTimeSequence = true;
TimeSequenceProgressToTime(100000f);
jumpingToTimeSequence = false;
}
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;
}
if (currentlyInTimeSequence)
{
if (hasTimeSequenceQueued)
{
while (currentlyInTimeSequence)
{
TimeSequenceSkipToNextStep();
}
}
else
{
TimeSequenceProgressToTime(timeSequenceSecondsPassed + deltaSeconds);
}
}
}
private void TimeSequenceSkipToNextStep()
{
@@ -109,7 +89,7 @@ namespace Marro.PacManUdon
if (Networking.IsOwner(gameObject))
{
TimeSequenceExecuteFinalize();
if (!hasTimeSequenceQueued)
if (!jumpingToTimeSequence)
{
TimeSequenceExecuteFinished();
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a11df70b39ac2924c825f9951b58dafd
guid: 506fd020620e6d24787a909c153b2da5
MonoImporter:
externalObjects: {}
serializedVersion: 2