- Modem now has markers for where players should stand to be teleported.

- Jail call camera overlay now syncs crook portraits properly.
- Ownership of wanted/missing posters and jail call overlay is properly set.
This commit is contained in:
2026-05-09 13:59:29 -04:00
parent 18a7c68ba6
commit 8b6604da24
15 changed files with 1461 additions and 199 deletions
@@ -707,25 +707,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _JailCallOverlay_CrookMaterial
Data: _JailCallOverlay
- Name: $v
Entry: 7
Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _JailCallOverlay_CrookMaterial
Data: _JailCallOverlay
- Name: <UserType>k__BackingField
Entry: 7
Data: 50|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Material, UnityEngine.CoreModule
Data: JailCallOverlay, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 50
Data: 9
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
+14 -2
View File
@@ -44,7 +44,7 @@ public class CaseManager : UdonSharpBehaviour
[SerializeField] private MultiRoundVideoPlayer _MultiRoundVideoPlayer;
[SerializeField] private WantedPoster[] _WantedPosters;
[SerializeField] private MissingPoster[] _MissingPosters;
[SerializeField] private Material _JailCallOverlay_CrookMaterial;
[SerializeField] private JailCallOverlay _JailCallOverlay;
[SerializeField] private LocationBoard _LocationBoard;
[Space, Header("Host UI")]
[SerializeField] private CaseManagerListView _CaseManagerList;
@@ -132,6 +132,18 @@ public class CaseManager : UdonSharpBehaviour
Networking.SetOwner(Networking.LocalPlayer, _HostCard.gameObject);
Networking.SetOwner(Networking.LocalPlayer, _LiveIndicator.gameObject);
foreach (WantedPoster Poster in _WantedPosters)
{
Networking.SetOwner(Networking.LocalPlayer, Poster.gameObject);
}
foreach (MissingPoster Poster in _MissingPosters)
{
Networking.SetOwner(Networking.LocalPlayer, Poster.gameObject);
}
Networking.SetOwner(Networking.LocalPlayer, _JailCallOverlay.gameObject);
_CaseFileCluesURL = CaseFile.CaseFileURL;
_CaseFileLootImage = CaseFile.LootImage;
_CaseFileMaps = CaseFile.MapFiles;
@@ -244,7 +256,7 @@ public class CaseManager : UdonSharpBehaviour
Poster.SetNewCrook(_AccusedCrook, GetCrookName());
}
_JailCallOverlay_CrookMaterial.SetTexture("_MainTex", CrookPortraits[(int)_AccusedCrook]);
_JailCallOverlay.SetCrook(_AccusedCrook);
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(DownloadLootImage), _CaseFileLootImage);
}
@@ -1488,6 +1488,8 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlayMusicLoop", MusicEventType.CapitalLoop);
_Modem.SetHost(_CaseManager.GetHostOwner().displayName);
_Modem.SetWinningPlayers(_CaseManager.GetCurrentWinningPlayers());
_Modem.Activate(true);
foreach (ArrivalDisplay Display in _ArrivalDisplays)
@@ -1214,7 +1214,7 @@ MonoBehaviour:
Data: 79|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraOverlay, Assembly-CSharp
Data: JailCallOverlay, Assembly-CSharp
- Name:
Entry: 8
Data:
@@ -33,7 +33,7 @@ public class GameManagerRound2 : GameManagerBase
[SerializeField] private ArrivalDisplay[] _ArrivalDisplays;
[SerializeField] private PositionMarker _WinningPlayerPositionMarker;
[SerializeField] private CameraOverlay _JailCallCameraOverlay;
[SerializeField] private JailCallOverlay _JailCallCameraOverlay;
[SerializeField] private RandomVideoPlayer _JailPlayer;
[UdonSynced, FieldChangeCallback(nameof(Location))] private string _Location = "";
@@ -462,7 +462,7 @@ public class GameManagerRound2 : GameManagerBase
{
HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment(_PlayerPodiums[_CurrentPlayerCounter % _PlayerPodiums.Length] + ", your turn.", COLOR_STANDARD);
Interface.SetComment(_PlayerPodiums[_CurrentPlayerCounter % _PlayerPodiums.Length].GetPlayer() + ", your turn.", COLOR_STANDARD);
SendCustomEventDelayedSeconds(nameof(ActivateAllPanelButtons_DelayFunction), 0.5f);
}