- Added extra camera switches to the tiebreaker in round 1.

- Fixed the buzzers in the tiebreaker round not resetting correctly.
- Added functions to AudioManager to check if music or effects are playing.
- Added extra camera switches to the end of round 2.
This commit is contained in:
2025-12-26 13:57:22 -05:00
parent 744a794707
commit 0ed7e328d6
8 changed files with 818 additions and 651 deletions
@@ -741,8 +741,6 @@ public class GameManagerRound1 : GameManagerBase
private void BeginLightningRound()
{
_CameraControllerRound1.ActivateLightningStartToHostAllPlayersCameraSwitcher();
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(PlayLightningRoundAnimation));
HostCardLightningRoundInterface Interface =
@@ -757,6 +755,8 @@ public class GameManagerRound1 : GameManagerBase
EnableBuzzers();
_CameraControllerRound1.ActivateLightningStartToHostAllPlayersCameraSwitcher();
EnableInteraction("First Question");
}
[NetworkCallable]
@@ -831,13 +831,13 @@ public class GameManagerRound1 : GameManagerBase
_QuestionSubstage++;
AdvanceQuestion();
_CameraControllerRound1.ActivateLightningCorrectAnswerToHostAllPlayersCameraSwitcher();
_CameraControllerRound1.ActivateCorrectAnswerToHostAllPlayersCameraSwitcher();
}
else
{
WaitForBuzzInsWithoutLastPlayer();
_CameraControllerRound1.ActivateLightningIncorrectAnswerToHostAllPlayersCameraSwitcher();
_CameraControllerRound1.ActivateIncorrectAnswerToHostAllPlayersCameraSwitcher();
}
}
@@ -865,7 +865,7 @@ public class GameManagerRound1 : GameManagerBase
WaitForBuzzInsWithoutLastPlayer();
}
_CameraControllerRound1.ActivateLightningIncorrectAnswerToHostAllPlayersCameraSwitcher();
_CameraControllerRound1.ActivateIncorrectAnswerToHostAllPlayersCameraSwitcher();
}
@@ -935,17 +935,16 @@ public class GameManagerRound1 : GameManagerBase
{
Interface.ChoiceUI[i].text = Choices[i].ToString();
}
Interface.OtherButton.interactable = true;
_QuestionCorrectResponse = (int)CurrentClue["Correct Response"].Number;
for (int i = 0; i < Interface.ChoiceButtons.Length && i < Interface.ChoiceButtonImages.Length; i++)
{
Interface.ChoiceButtonImages[i].color = (_QuestionCorrectResponse == (i + 1)) ? Color.green : Color.red;
Interface.ChoiceButtons[i].interactable = true;
}
Interface.OtherButton.interactable = true;
SendCustomEventDelayedSeconds(nameof(DisplayNextChaseMap), 1.0f);
SendCustomEventDelayedSeconds(nameof(DisplayNextChaseMap), 1.2f);
EnableBuzzInPeriodForAllPlayers();
}
@@ -953,6 +952,14 @@ public class GameManagerRound1 : GameManagerBase
{
_VideoPlayer.SubMapIndex = _QuestionSubstage * 2;
HostCardTheChaseInterface Interface =
(HostCardTheChaseInterface)GetHostCardInterface(RoundSegmentType.TheChase);
for (int i = 0; i < Interface.ChoiceButtons.Length && i < Interface.ChoiceButtonImages.Length; i++)
{
Interface.ChoiceButtons[i].interactable = true;
}
Interface.OtherButton.interactable = true;
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
}
@@ -1281,7 +1288,7 @@ public class GameManagerRound1 : GameManagerBase
EnableInteraction("Reveal Next Player Answer");
}
_CameraControllerRound1.ActivateLightningCorrectAnswerToHostAllPlayersCameraSwitcher();
_CameraControllerRound1.ActivateCorrectAnswerToHostAllPlayersCameraSwitcher();
}
private bool FinalRoundCheckNeedForTiebreaker()
@@ -1326,6 +1333,8 @@ public class GameManagerRound1 : GameManagerBase
}
TiebreakerNeeded = true;
PrepareTiebreakerRound(Number2Podium.PlayerNumber, Number3Podium.PlayerNumber);
_CameraControllerRound1.ActivateHostAllPlayersCameraSwitcher();
}
else
{
@@ -1413,6 +1422,7 @@ public class GameManagerRound1 : GameManagerBase
if (TiebreakerNeeded)
{
_CurrentQuestionType = RoundSegmentType.Tiebreaker;
EnableInteraction("Advance To Tiebreaker");
}
else
@@ -1537,8 +1547,9 @@ public class GameManagerRound1 : GameManagerBase
public void TiebreakerIncorrectResponse()
{
_BuzzedInPlayer = -1;
_BuzzInAllowed = true;
EnableBuzzInPeriodForAllPlayers();
_CameraControllerRound1.ActivateIncorrectAnswerToHostAllPlayersCameraSwitcher();
RequestSerialization();
}
@@ -1557,6 +1568,8 @@ public class GameManagerRound1 : GameManagerBase
DisableBuzzers();
EndBuzzInPeriod();
_CameraControllerRound1.ActivateCorrectAnswerToHostAllPlayersCameraSwitcher();
EnableInteraction("End Tiebreaker");
}
@@ -1683,7 +1696,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFX", SFXEventType.Buzzer);
SendCustomEventDelayedSeconds(nameof(BuzzInCamera), 0.75f);
_CameraControllerRound1.ActivateBuzzedInPlayerCameraSwitcher();
}
public void BuzzInCamera()
{
@@ -460,16 +460,36 @@ public class GameManagerRound2 : GameManagerBase
{
_JailPlayer.PlayVideo = true;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayCrookInJail", _CaseManager.GetCrook());
_CameraControllerRound2.ActivateVideoPlayerToWinningPlayerCameraSwitcher();
}
public void PhoneRing()
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.PhoneRing);
_CameraControllerRound2.DisableAllSwitchers();
_CameraControllerRound2.SwitchToHostAndWinnerCamera();
}
public void PlayJailCall()
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayJailCall", _CaseManager.GetCrook(), _CaseManager.GetFinalRoundContinent());
SendCustomEventDelayedSeconds(nameof(CheckIfJailCallIsOver), 1.0f);
_CameraControllerRound2.SwitchToHostAndWinnerCamera();
}
public void CheckIfJailCallIsOver()
{
if (_AudioManager.IsSFXPlaying())
{
SendCustomEventDelayedSeconds(nameof(CheckIfJailCallIsOver), 1.0f);
}
else
{
_CameraControllerRound2.DisableAllSwitchers();
_CameraControllerRound2.SwitchToHostAndWinnerCamera();
}
}