- Fixed a large number of simple sync issues during round 1.

- Fixed reset issues with round 2.
This commit is contained in:
Jamie Greunbaum 2025-07-16 04:37:58 -04:00
parent 3f858ed7d2
commit 757f42a8ea
6 changed files with 22 additions and 13 deletions

View File

@ -36944,7 +36944,7 @@ MonoBehaviour:
_udonSharpBackingUdonBehaviour: {fileID: 2057791819} _udonSharpBackingUdonBehaviour: {fileID: 2057791819}
_GameManager: {fileID: 515404446} _GameManager: {fileID: 515404446}
_VideoPlayer: {fileID: 2057791821} _VideoPlayer: {fileID: 2057791821}
SyncFrequency: 5 SyncFrequency: 0
_BlankScreenMesh: {fileID: 616351405} _BlankScreenMesh: {fileID: 616351405}
_VideoScreenMesh: {fileID: 1123401066} _VideoScreenMesh: {fileID: 1123401066}
_MapScreenMesh: {fileID: 1005643829} _MapScreenMesh: {fileID: 1005643829}

View File

@ -130,8 +130,6 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
public override void OnVideoStart() public override void OnVideoStart()
{ {
Debug.LogError("Displaying video material...");
ShowScreen = ClueScreenType.Video; ShowScreen = ClueScreenType.Video;
UpdateTimeAndOffset(); UpdateTimeAndOffset();
@ -143,7 +141,6 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
if (Networking.IsOwner(gameObject)) if (Networking.IsOwner(gameObject))
{ {
TimeAndOffset = new Vector2(_VideoPlayer.GetTime(), (float)Networking.GetServerTimeInSeconds()); TimeAndOffset = new Vector2(_VideoPlayer.GetTime(), (float)Networking.GetServerTimeInSeconds());
RequestSerialization();
if (SyncFrequency > 0.0f) if (SyncFrequency > 0.0f)
{ {
@ -152,8 +149,10 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
} }
else else
{ {
SendCustomEvent(nameof(Resync)); Resync();
} }
RequestSerialization();
} }
public void Resync() public void Resync()
@ -252,7 +251,7 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
_TimeAndOffset = value; _TimeAndOffset = value;
if (!Networking.IsOwner(gameObject)) if (!Networking.IsOwner(gameObject))
{ {
SendCustomEvent(nameof(Resync)); Resync();
} }
} }
get => _TimeAndOffset; get => _TimeAndOffset;

View File

@ -111,7 +111,7 @@ public class CaseManager : UdonSharpBehaviour
ErrorString = "Ensure the 'Round 3' dictionary entry is a dictionary with a key called 'Continent' and an integer value."; ErrorString = "Ensure the 'Round 3' dictionary entry is a dictionary with a key called 'Continent' and an integer value.";
} }
ContinueToRound3(); ContinueToRound1();
} }
else else
{ {

View File

@ -439,7 +439,8 @@ public class GameManagerRound1 : GameManagerBase
int PodiumIndex = _BuzzedInPlayer - 1; int PodiumIndex = _BuzzedInPlayer - 1;
if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length) if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length)
{ {
_PlayerPodiums[PodiumIndex].AdjustScore(5); _PlayerPodiums[PodiumIndex].SendCustomNetworkEvent(NetworkEventTarget.Owner,
"AdjustScore", 5);
} }
EndBuzzInPeriod(); EndBuzzInPeriod();
@ -536,7 +537,8 @@ public class GameManagerRound1 : GameManagerBase
int PodiumIndex = _BuzzedInPlayer - 1; int PodiumIndex = _BuzzedInPlayer - 1;
if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length) if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length)
{ {
_PlayerPodiums[PodiumIndex].AdjustScore(5); _PlayerPodiums[PodiumIndex].SendCustomNetworkEvent(NetworkEventTarget.Owner,
"AdjustScore", 5);
} }
} }
@ -1026,7 +1028,8 @@ public class GameManagerRound1 : GameManagerBase
int PodiumIndex = _BuzzedInPlayer - 1; int PodiumIndex = _BuzzedInPlayer - 1;
if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length) if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length)
{ {
_PlayerPodiums[PodiumIndex].AdjustScore(5); _PlayerPodiums[PodiumIndex].SendCustomNetworkEvent(NetworkEventTarget.Owner,
"AdjustScore", 5);
} }
_BuzzedInPlayer = -1; _BuzzedInPlayer = -1;

View File

@ -33,6 +33,12 @@ public class GameManagerRound2 : GameManagerBase
{ {
_StageIndex = 0; _StageIndex = 0;
LocationBoardReset();
// Make sure we have the correct interface up after the last function.
HostCardBetweenRoundsInterface Interface =
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
base.InitialiseGameMode(); base.InitialiseGameMode();
} }

View File

@ -102,6 +102,7 @@ public class PlayerPodium : UdonSharpBehaviour
RequestSerialization(); RequestSerialization();
} }
[NetworkCallable]
public void AdjustScore(int Adjustment) public void AdjustScore(int Adjustment)
{ {
PlayerScore += Adjustment; PlayerScore += Adjustment;
@ -141,7 +142,7 @@ public class PlayerPodium : UdonSharpBehaviour
bool IsCorrectResponse = _ChoiceCards.GetSelectedChoice() == CorrectResponse; bool IsCorrectResponse = _ChoiceCards.GetSelectedChoice() == CorrectResponse;
if (IsCorrectResponse) if (IsCorrectResponse)
{ {
AdjustScore(10); SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(AdjustScore), 10);
} }
return IsCorrectResponse; return IsCorrectResponse;
@ -174,11 +175,11 @@ public class PlayerPodium : UdonSharpBehaviour
{ {
if (_ChoiceCards.GetSelectedChoice() == CorrectResponse) if (_ChoiceCards.GetSelectedChoice() == CorrectResponse)
{ {
AdjustScore(_RiskCards.GetSelectedChoice()); SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(AdjustScore), _RiskCards.GetSelectedChoice());
} }
else else
{ {
AdjustScore(-_RiskCards.GetSelectedChoice()); SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(AdjustScore), -_RiskCards.GetSelectedChoice());
} }
} }