Improving sync
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user