- Foghorn and Crook In Jail animations implemented

- GameManager initialisation now also enables interactions no matter what
- Markers are no longer unnecessarily deactivated at the end of a round
- Markers have better physics when dropped and disabled
- Attempted to add fallback support to video players
This commit is contained in:
2025-08-23 23:02:39 -04:00
parent 20c481001f
commit 1f921988ef
19 changed files with 945 additions and 600 deletions
@@ -80,7 +80,10 @@ public class GameManagerBase : UdonSharpBehaviour
}
public virtual void InitialiseGameMode() { }
public virtual void InitialiseGameMode()
{
_AllowInteractionFromHostCard = true;
}
public virtual void SetOwnershipOfObjects(VRCPlayerApi NewOwner) { }
@@ -345,15 +345,21 @@ public class GameManagerRound2 : GameManagerBase
"RevealPanel", Panel);
}
public void TEMPORARY_Button_PlayPattyLarcenyInJail()
public void TEMPORARY_Button_PlayInJailAnimation()
{
_JailPlayer.PlayVideo = true;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayCrookInJail", AccusedCrook.PattyLarceny);
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.FogHorn);
SendCustomEventDelayedSeconds(nameof(PlayCrookInJail), 1.5f);
}
public void TEMPORARY_Button_PlayPattyLarcenyJailCallAfrica()
public void PlayCrookInJail()
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayJailCall", AccusedCrook.PattyLarceny, ContinentMap.Africa);
_JailPlayer.PlayVideo = true;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayCrookInJail", _CaseManager.GetCrook());
}
public void PlayJailCallAfrica()
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayJailCall", _CaseManager.GetCrook(), ContinentMap.Africa);
}
@@ -307,11 +307,6 @@ public class GameManagerRound3 : GameManagerBase
if (_GameStatus != GameStatus.Win)
{
for (int i = 0; i < _Markers.Length; i++)
{
_Markers[i].SendCustomNetworkEvent(NetworkEventTarget.All, "Activated", false);
}
GameStatusUpdate(RanOutOfMarkers ? GameStatus.RanOutOfMarkers : GameStatus.RanOutOfTime);
HostCardBetweenRoundsInterface GameLossInterface =