- Fully implemented Detective Noir presentation.

- Video loading at the start of a round should be more reliable now.
This commit is contained in:
2025-11-26 22:19:47 -05:00
parent b00f2ce346
commit 3c5d94425d
20 changed files with 1245 additions and 517 deletions
@@ -1675,13 +1675,13 @@ MonoBehaviour:
Data: 107|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Animator, UnityEngine.AnimationModule
Data: DetectiveNoirEffect, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 107
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1854,11 +1854,17 @@ MonoBehaviour:
Entry: 1
Data: _LightningRoundAnimator
- Name: <UserType>k__BackingField
Entry: 9
Data: 107
Entry: 7
Data: 119|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Animator, UnityEngine.AnimationModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 107
Data: 119
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1873,14 +1879,14 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 119|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
Data: 120|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 120|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 121|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@@ -1889,7 +1895,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 121|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
Data: 122|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
- Name: header
Entry: 1
Data: Effects
@@ -1898,7 +1904,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 122|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 123|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -49,7 +49,7 @@ public class GameManagerRound1 : GameManagerBase
[SerializeField] private CaseVideoSyncPlayer _VideoPlayer;
[SerializeField] private ACMECrimenetComputer _ACMECrimenetComputer;
[SerializeField] private VideoMusicClueSkateboard _VideoMusicClueSkateboard;
[SerializeField] private Animator _DetectiveNoirEffect;
[SerializeField] private DetectiveNoirEffect _DetectiveNoirEffect;
[SerializeField] private Modem _Modem;
[SerializeField] private ArrivalDisplay _ArrivalDisplay;
@@ -217,8 +217,6 @@ public class GameManagerRound1 : GameManagerBase
ShowBetweenQuestionsInterface();
_VideoPlayer.ShowScreen = ClueScreenType.Blank;
_GameHasBegun = true;
}
@@ -381,24 +379,24 @@ public class GameManagerRound1 : GameManagerBase
private void InitialiseDetectiveNoirEffect(DataDictionary Presentation)
{
_QuestionSubstage++;
switch (_QuestionSubstage)
{
case 0:
_DetectiveNoirEffect.SetBool("Activate", true);
EnableInteraction("Play Video");
_QuestionSubstage++;
Debug.LogError("[GameManagerRound1] We should have just activated the noir effect.");
break;
case 1:
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.DistantFoghorn);
EnableInteraction("Black And White");
break;
case 2:
_DetectiveNoirEffect.Activate = true;
EnableInteraction("Play Video");
break;
case 3:
_VideoPlayer.PlayVideo = true;
EnableInteraction("Back To Colour");
_QuestionSubstage++;
Debug.LogError("[GameManagerRound1] We should have just started playing the video.");
break;
default:
_DetectiveNoirEffect.SetBool("Activate", false);
_DetectiveNoirEffect.Activate = false;
MultipleChoiceRevealQuestion();
Debug.LogError("[GameManagerRound1] The question is revealed.");
break;
}
}
@@ -1666,6 +1664,8 @@ public class GameManagerRound1 : GameManagerBase
private HostCardBetweenRoundsInterface ShowBetweenQuestionsInterface()
{
_VideoPlayer.ShowScreen = ClueScreenType.Blank;
HostCardBetweenRoundsInterface Interface =
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);