- Added a multi-display system to the clue screen.
- Maps are now available during the standard multiple choice sections.
This commit is contained in:
@@ -41,7 +41,7 @@ public class GameManagerRound1 : GameManagerBase
|
||||
|
||||
[SerializeField] private AudioManager _AudioManager;
|
||||
|
||||
|
||||
|
||||
public override void InitialiseGameMode()
|
||||
{
|
||||
_GameHasBegun = false;
|
||||
@@ -148,12 +148,21 @@ public class GameManagerRound1 : GameManagerBase
|
||||
return;
|
||||
}
|
||||
|
||||
if (_CurrentQuestion.ContainsKey("Maps") && _CurrentQuestion["Maps"].TokenType == TokenType.DataList)
|
||||
{
|
||||
DataList Maps = _CurrentQuestion["Maps"].DataList;
|
||||
for (int i = 0; i < Maps.Count; i++)
|
||||
{
|
||||
_VideoPlayer.LoadMap((int)Maps[i].Number);
|
||||
}
|
||||
}
|
||||
|
||||
DataDictionary Presentation = _CurrentQuestion["Presentation"].DataDictionary;
|
||||
switch ((PresentationMedium)(int)Presentation["Medium"].Number)
|
||||
{
|
||||
case PresentationMedium.VideoClue: MultipleChoiceInitialiseVideoClue(Presentation); break;
|
||||
case PresentationMedium.VideoMusicClue: MultipleChoiceInitialiseVideoMusicClue(Presentation); break;
|
||||
case PresentationMedium.ACMECrimenetComputer: MultipleChoiceInitialiseACMECrimenetComputer(Presentation); break;
|
||||
case PresentationMedium.VideoClue: MultipleChoiceInitialiseVideoClue(Presentation); break;
|
||||
case PresentationMedium.VideoMusicClue: MultipleChoiceInitialiseVideoMusicClue(Presentation); break;
|
||||
case PresentationMedium.ACMECrimenetComputer: MultipleChoiceInitialiseACMECrimenetComputer(Presentation); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,7 +182,6 @@ public class GameManagerRound1 : GameManagerBase
|
||||
}
|
||||
else
|
||||
{
|
||||
_QuestionSubstage = 0;
|
||||
MultipleChoiceRevealQuestion();
|
||||
}
|
||||
}
|
||||
@@ -197,6 +205,9 @@ public class GameManagerRound1 : GameManagerBase
|
||||
|
||||
private void MultipleChoiceRevealQuestion()
|
||||
{
|
||||
_QuestionSubstage = 0;
|
||||
_VideoPlayer.InitialiseMapScreen();
|
||||
|
||||
HostCardMultipleChoiceInterface Interface =
|
||||
(HostCardMultipleChoiceInterface)GetHostCardInterface(RoundSegmentType.MultipleChoice);
|
||||
|
||||
@@ -230,6 +241,8 @@ public class GameManagerRound1 : GameManagerBase
|
||||
|
||||
private void MultipleChoiceRevealChoice1()
|
||||
{
|
||||
_VideoPlayer.IncrementMap();
|
||||
|
||||
HostCardMultipleChoiceInterface Interface =
|
||||
(HostCardMultipleChoiceInterface)GetHostCardInterface(RoundSegmentType.MultipleChoice);
|
||||
|
||||
@@ -242,6 +255,8 @@ public class GameManagerRound1 : GameManagerBase
|
||||
}
|
||||
private void MultipleChoiceRevealChoice2()
|
||||
{
|
||||
_VideoPlayer.IncrementMap();
|
||||
|
||||
HostCardMultipleChoiceInterface Interface =
|
||||
(HostCardMultipleChoiceInterface)GetHostCardInterface(RoundSegmentType.MultipleChoice);
|
||||
|
||||
@@ -254,6 +269,8 @@ public class GameManagerRound1 : GameManagerBase
|
||||
}
|
||||
private void MultipleChoiceRevealChoice3()
|
||||
{
|
||||
_VideoPlayer.IncrementMap();
|
||||
|
||||
HostCardMultipleChoiceInterface Interface =
|
||||
(HostCardMultipleChoiceInterface)GetHostCardInterface(RoundSegmentType.MultipleChoice);
|
||||
|
||||
@@ -334,6 +351,8 @@ public class GameManagerRound1 : GameManagerBase
|
||||
"VerifyMultipleChoiceResponse", _QuestionCorrectResponse);
|
||||
}
|
||||
|
||||
_VideoPlayer.FlashCorrectAnswer = true;
|
||||
|
||||
EnableInteraction("Next Question");
|
||||
}
|
||||
|
||||
@@ -354,7 +373,7 @@ public class GameManagerRound1 : GameManagerBase
|
||||
|
||||
EnableInteraction("First Question");
|
||||
}
|
||||
|
||||
|
||||
private void NewLightningRoundQuestion(int Question)
|
||||
{
|
||||
DataDictionary CurrentQuestion = _CurrentQuestion["Questions"].DataList[Question - 1].DataDictionary;
|
||||
@@ -619,7 +638,7 @@ public class GameManagerRound1 : GameManagerBase
|
||||
{
|
||||
HostCardFinalRoundInterface Interface =
|
||||
(HostCardFinalRoundInterface)GetHostCardInterface(RoundSegmentType.FinalRound);
|
||||
|
||||
|
||||
Interface.ChoiceButtonImages[2].color = (_QuestionCorrectResponse == 3) ? Color.green : Color.red;
|
||||
DataList Choices = _CurrentQuestion["Choices"].DataList;
|
||||
EnableChoiceCards();
|
||||
@@ -789,7 +808,7 @@ public class GameManagerRound1 : GameManagerBase
|
||||
// Tag first place player as first place, and second place as second
|
||||
Number1.SetPlayerTag("Round1State", "FirstPlace");
|
||||
Number2.SetPlayerTag("Round2State", "SecondPlace");
|
||||
|
||||
|
||||
Interface.HeaderUI.text = "[[FIRSTPLACEPLAYER]] and [[SECONDPLACEPLAYER]] will move on to the next round.";
|
||||
}
|
||||
}
|
||||
@@ -811,6 +830,8 @@ public class GameManagerRound1 : GameManagerBase
|
||||
DisableRiskCards();
|
||||
DisableBuzzers();
|
||||
|
||||
_VideoPlayer.ClearScreen();
|
||||
|
||||
HostCardBetweenRoundsInterface Interface = ShowBetweenQuestionsInterface();
|
||||
|
||||
_QuestionIndex++;
|
||||
@@ -907,7 +928,8 @@ public class GameManagerRound1 : GameManagerBase
|
||||
ResetBuzzers();
|
||||
}
|
||||
|
||||
private void WaitForBuzzInsWithoutLastPlayer() {
|
||||
private void WaitForBuzzInsWithoutLastPlayer()
|
||||
{
|
||||
_BuzzInAllowed = true;
|
||||
int PodiumIndex = _BuzzedInPlayer - 1;
|
||||
if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length)
|
||||
@@ -951,7 +973,8 @@ public class GameManagerRound1 : GameManagerBase
|
||||
|
||||
private void ResetBuzzers()
|
||||
{
|
||||
for (int i = 0; i < _PlayerPodiums.Length; i++) {
|
||||
for (int i = 0; i < _PlayerPodiums.Length; i++)
|
||||
{
|
||||
_PlayerBuzzInAllowed[i] = true;
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_PlayerPodiums[i], NetworkEventTarget.All, "EnableBuzzInEffect", false);
|
||||
}
|
||||
@@ -985,10 +1008,10 @@ public class GameManagerRound1 : GameManagerBase
|
||||
// it's two numbers, they're the same fucking thing".
|
||||
switch ((int)_CurrentQuestion["Type"].Number)
|
||||
{
|
||||
case (int)RoundSegmentType.MultipleChoice: AdvanceMultipleChoiceStage(); break;
|
||||
case (int)RoundSegmentType.LightningRound: AdvanceLightningRoundQuestion(); break;
|
||||
case (int)RoundSegmentType.TheChase: AdvanceTheChase(); break;
|
||||
case (int)RoundSegmentType.FinalRound: AdvanceFinalRound(); break;
|
||||
case (int)RoundSegmentType.MultipleChoice: AdvanceMultipleChoiceStage(); break;
|
||||
case (int)RoundSegmentType.LightningRound: AdvanceLightningRoundQuestion(); break;
|
||||
case (int)RoundSegmentType.TheChase: AdvanceTheChase(); break;
|
||||
case (int)RoundSegmentType.FinalRound: AdvanceFinalRound(); break;
|
||||
}
|
||||
|
||||
RequestSerialization();
|
||||
@@ -996,55 +1019,55 @@ public class GameManagerRound1 : GameManagerBase
|
||||
|
||||
private void AdvanceIntro()
|
||||
{
|
||||
switch(_QuestionStage)
|
||||
switch (_QuestionStage)
|
||||
{
|
||||
case 1: PlayIntroVideo(); break;
|
||||
case 2: AssignStarterPoints(); break;
|
||||
default: break;
|
||||
case 1: PlayIntroVideo(); break;
|
||||
case 2: AssignStarterPoints(); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
private void AdvanceMultipleChoiceStage()
|
||||
{
|
||||
switch(_QuestionStage)
|
||||
switch (_QuestionStage)
|
||||
{
|
||||
case 1: MultipleChoiceInitialisePresentation(); break;
|
||||
case 2: MultipleChoiceRevealChoice1(); break;
|
||||
case 3: MultipleChoiceRevealChoice2(); break;
|
||||
case 4: MultipleChoiceRevealChoice3(); break;
|
||||
case 5: MultipleChoiceLockAnswers(); break;
|
||||
case 6: MultipleChoiceRevealAnswersAndAssignPoints(); break;
|
||||
case 7: AdvanceToNextQuestion(); break;
|
||||
default: break;
|
||||
case 1: MultipleChoiceInitialisePresentation(); break;
|
||||
case 2: MultipleChoiceRevealChoice1(); break;
|
||||
case 3: MultipleChoiceRevealChoice2(); break;
|
||||
case 4: MultipleChoiceRevealChoice3(); break;
|
||||
case 5: MultipleChoiceLockAnswers(); break;
|
||||
case 6: MultipleChoiceRevealAnswersAndAssignPoints(); break;
|
||||
case 7: AdvanceToNextQuestion(); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
private void AdvanceLightningRoundQuestion()
|
||||
{
|
||||
switch(_QuestionStage)
|
||||
switch (_QuestionStage)
|
||||
{
|
||||
case 1: BeginLightningRound(); break;
|
||||
case 2: NewLightningRoundQuestion(1); break;
|
||||
case 3: NewLightningRoundQuestion(2); break;
|
||||
case 4: NewLightningRoundQuestion(3); break;
|
||||
case 5: AdvanceToNextQuestion(); break;
|
||||
default: break;
|
||||
case 1: BeginLightningRound(); break;
|
||||
case 2: NewLightningRoundQuestion(1); break;
|
||||
case 3: NewLightningRoundQuestion(2); break;
|
||||
case 4: NewLightningRoundQuestion(3); break;
|
||||
case 5: AdvanceToNextQuestion(); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
private void AdvanceTheChase()
|
||||
{
|
||||
switch(_QuestionStage)
|
||||
switch (_QuestionStage)
|
||||
{
|
||||
case 1: BeginTheChase(); break;
|
||||
case 2: PlayTheChaseMusic(); break;
|
||||
case 3: NewTheChaseClue(1); break;
|
||||
case 4: NewTheChaseClue(2); break;
|
||||
case 5: NewTheChaseClue(3); break;
|
||||
case 6: NewTheChaseClue(4); break;
|
||||
case 7: NewTheChaseClue(5); break;
|
||||
case 8: AdvanceToNextQuestion(); break;
|
||||
default: break;
|
||||
case 1: BeginTheChase(); break;
|
||||
case 2: PlayTheChaseMusic(); break;
|
||||
case 3: NewTheChaseClue(1); break;
|
||||
case 4: NewTheChaseClue(2); break;
|
||||
case 5: NewTheChaseClue(3); break;
|
||||
case 6: NewTheChaseClue(4); break;
|
||||
case 7: NewTheChaseClue(5); break;
|
||||
case 8: AdvanceToNextQuestion(); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1052,24 +1075,30 @@ public class GameManagerRound1 : GameManagerBase
|
||||
{
|
||||
switch (_QuestionStage)
|
||||
{
|
||||
case 1: BeginFinalRound(); break;
|
||||
case 2: PlayThinkingMusic(); break;
|
||||
case 3: FinalRoundRevealChoice1(); break;
|
||||
case 4: FinalRoundRevealChoice2(); break;
|
||||
case 5: FinalRoundRevealChoice3(); break;
|
||||
case 6: FinalRoundLockAnswers(); break;
|
||||
case 7: FinalRoundRevealPlayerPlace(3); break;
|
||||
case 8: FinalRoundAssignPointsToPlayerPlace(3); break;
|
||||
case 9: FinalRoundRevealPlayerPlace(2); break;
|
||||
case 10: FinalRoundAssignPointsToPlayerPlace(2); break;
|
||||
case 11: FinalRoundRevealPlayerPlace(1); break;
|
||||
case 12: FinalRoundAssignPointsToPlayerPlace(1); break;
|
||||
case 13: AdvanceToNextQuestion(); break;
|
||||
default: break;
|
||||
case 1: BeginFinalRound(); break;
|
||||
case 2: PlayThinkingMusic(); break;
|
||||
case 3: FinalRoundRevealChoice1(); break;
|
||||
case 4: FinalRoundRevealChoice2(); break;
|
||||
case 5: FinalRoundRevealChoice3(); break;
|
||||
case 6: FinalRoundLockAnswers(); break;
|
||||
case 7: FinalRoundRevealPlayerPlace(3); break;
|
||||
case 8: FinalRoundAssignPointsToPlayerPlace(3); break;
|
||||
case 9: FinalRoundRevealPlayerPlace(2); break;
|
||||
case 10: FinalRoundAssignPointsToPlayerPlace(2); break;
|
||||
case 11: FinalRoundRevealPlayerPlace(1); break;
|
||||
case 12: FinalRoundAssignPointsToPlayerPlace(1); break;
|
||||
case 13: AdvanceToNextQuestion(); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public VRCUrl GetMapURL(int MapIndex)
|
||||
{
|
||||
return _CaseManager.GetMap(MapIndex);
|
||||
}
|
||||
|
||||
|
||||
protected override void _HostCardUseButtonDown_Internal()
|
||||
{
|
||||
AdvanceQuestion();
|
||||
|
||||
Reference in New Issue
Block a user