Improving sync

This commit is contained in:
2026-06-22 18:31:16 +02:00
parent d6b870de79
commit 1252933ca4
7 changed files with 142 additions and 76 deletions

View File

@@ -42,7 +42,6 @@ namespace Marro.PacManUdon
jumpingToTimeSequence = true;
TimeSequenceProgressToTime(100000f);
if (waitingForTimeSequenceFinalize)
{
@@ -102,22 +101,23 @@ namespace Marro.PacManUdon
}
}
private void TimeSequenceSyncWithRemote(PacManTimeSequence currentTimeSequence, float timeSequenceSecondsPassed)
private void TimeSequenceSyncWithRemote(PacManTimeSequence remoteCurrentTimeSequence, float timeSequenceSecondsPassedRemote)
{
// If the remote is in a time sequence but we're not, or we're in a different time sequence, or if we're behind,
// jump to the remote's time sequence.
if (!currentlyInTimeSequence
|| currentTimeSequence != this.currentTimeSequence
|| timeSequenceSecondsPassed < this.timeSequenceSecondsPassed)
// If our current time sequence state is incompatible with the remote time sequence, kill it
if (currentlyInTimeSequence && remoteCurrentTimeSequence != currentTimeSequence
|| timeSequenceSecondsPassedRemote < timeSequenceSecondsPassed)
{
StartTimeSequence(currentTimeSequence);
currentlyInTimeSequence = false;
}
// If we're (now) in a time sequence, jump our progress to match the one on the remote
if (currentlyInTimeSequence)
// If we're not/no longer in a time sequence, start the remote's time sequence
if (!currentlyInTimeSequence)
{
TimeSequenceProgressToTime(timeSequenceSecondsPassed);
StartTimeSequence(remoteCurrentTimeSequence);
}
// Jump our progress to match the one on the remote
TimeSequenceProgressToTime(timeSequenceSecondsPassedRemote);
}
#region Events