From 5f19645feec3487853ef3da1bdc8d3513fe2be82 Mon Sep 17 00:00:00 2001 From: Jamie Greunbaum Date: Tue, 19 Aug 2025 05:10:30 -0400 Subject: [PATCH] - Video player no longer replays old videos when someone enters the world late. - Added more ownership changes to the round 1 game manager. - Cleaned up the lightning round effect playback code. --- .../M_ClueVideoScreen_Maps.mat | 2 +- Assets/Scenes/witwics.unity | 24 +- Assets/UdonSharp/CaseVideoSyncPlayer.asset | 350 ++++++++++-------- Assets/UdonSharp/CaseVideoSyncPlayer.cs | 48 ++- .../Game Managers/GameManagerRound1.cs | 13 +- .../UtilityScripts/BoneFollower.asset | 2 +- .../UtilityScripts/InteractToggle.asset | 2 +- .../UtilityScripts/PlayerModSetter.asset | 2 +- .../Synced/GlobalToggleObject.asset | 2 +- .../Synced/MasterToggleObject.asset | 2 +- .../UtilityScripts/TrackingDataFollower.asset | 2 +- .../UtilityScripts/WorldAudioSettings.asset | 2 +- ProjectSettings/AudioManager.asset | 4 +- 13 files changed, 275 insertions(+), 180 deletions(-) diff --git a/Assets/Materials/ClueVideoScreen/M_ClueVideoScreen_Maps.mat b/Assets/Materials/ClueVideoScreen/M_ClueVideoScreen_Maps.mat index 9d11511..e58bc80 100644 --- a/Assets/Materials/ClueVideoScreen/M_ClueVideoScreen_Maps.mat +++ b/Assets/Materials/ClueVideoScreen/M_ClueVideoScreen_Maps.mat @@ -48,7 +48,7 @@ Material: - _MainTex: m_Texture: {fileID: 0} m_Scale: {x: 0.5, y: 0.33333334} - m_Offset: {x: 0, y: 0.6666667} + m_Offset: {x: 0.5, y: 0.6666667} - _MetallicGlossMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} diff --git a/Assets/Scenes/witwics.unity b/Assets/Scenes/witwics.unity index 571ad28..7cb3982 100644 --- a/Assets/Scenes/witwics.unity +++ b/Assets/Scenes/witwics.unity @@ -72775,34 +72775,34 @@ MonoBehaviour: useAssignedLayers: 0 DynamicPrefabs: [] DynamicMaterials: - - {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2} - {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2} - {fileID: 2100000, guid: af0c1cbaaffed304ba0e3a1fbac41e7e, type: 2} - {fileID: 2100000, guid: cc22c7f9de95cab4488b30fe8699a82a, type: 2} - {fileID: 2100000, guid: fe872fb72ad98da4dbb868481468e848, type: 2} - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2} - {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2} - - {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2} - - {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2} - - {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2} + - {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2} - {fileID: 2100000, guid: 4c14b2f4b9a613f418bb1e6cf8cf68f4, type: 2} - {fileID: 2100000, guid: cf2685410a4f72447a34ea1791a70a1c, type: 2} - {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2} - {fileID: 2100000, guid: 6dd6b8b1c8133f04dbc23ac81f5dfded, type: 2} - - {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2} + - {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2} + - {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2} + - {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2} - {fileID: 2100000, guid: a793cd1d5fe89c440900d816c7b8c323, type: 2} - - {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2} + - {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2} + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 2100000, guid: 98166ed003d332e488319f662c3b4429, type: 2} - - {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2} + - {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2} + - {fileID: 2100000, guid: 71fff76911e92ab43a71d15602da4c4b, type: 2} + - {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2} - {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2} - - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} + - {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2} - {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2} - {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2} + - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} - {fileID: 2100000, guid: 80746b095abb6ce41a1c737df3649172, type: 2} - - {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2} + - {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2} - {fileID: 2100000, guid: bc5888e576e9cb34bab7b7af42d2b63f, type: 2} - - {fileID: 2100000, guid: 71fff76911e92ab43a71d15602da4c4b, type: 2} LightMapsNear: [] LightMapsFar: [] LightMode: 0 diff --git a/Assets/UdonSharp/CaseVideoSyncPlayer.asset b/Assets/UdonSharp/CaseVideoSyncPlayer.asset index c99394b..0fec43b 100644 --- a/Assets/UdonSharp/CaseVideoSyncPlayer.asset +++ b/Assets/UdonSharp/CaseVideoSyncPlayer.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 19 + Data: 20 - Name: Entry: 7 Data: @@ -446,16 +446,70 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _VideoPlayer + Data: _VideoIsPlaying - Name: $v Entry: 7 Data: 32|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _VideoIsPlaying + - Name: k__BackingField + Entry: 9 + Data: 18 + - Name: k__BackingField + Entry: 9 + Data: 18 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 3 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 34|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + - Name: + Entry: 8 + Data: + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: _VideoPlayer + - Name: $v + Entry: 7 + Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _VideoPlayer - Name: k__BackingField Entry: 7 - Data: 33|System.RuntimeType, mscorlib + Data: 36|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VRC.SDK3.Video.Components.Base.BaseVRCVideoPlayer, VRCSDK3 @@ -464,7 +518,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 33 + Data: 36 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -479,13 +533,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 34|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 37|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 35|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 38|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -509,13 +563,13 @@ MonoBehaviour: Data: _SyncFrequency - Name: $v Entry: 7 - Data: 36|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _SyncFrequency - Name: k__BackingField Entry: 7 - Data: 37|System.RuntimeType, mscorlib + Data: 40|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Single, mscorlib @@ -524,7 +578,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 37 + Data: 40 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -539,13 +593,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 41|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 39|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 42|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -569,13 +623,13 @@ MonoBehaviour: Data: _BlankScreenMesh - Name: $v Entry: 7 - Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _BlankScreenMesh - Name: k__BackingField Entry: 7 - Data: 41|System.RuntimeType, mscorlib + Data: 44|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.MeshRenderer, UnityEngine.CoreModule @@ -584,61 +638,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 41 - - Name: k__BackingField - Entry: 7 - Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - - Name: - Entry: 6 - Data: - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 5 - Data: true - - Name: _fieldAttributes - Entry: 7 - Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 43|UnityEngine.SerializeField, UnityEngine.CoreModule - - Name: - Entry: 8 - Data: - - Name: - Entry: 13 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 7 - Data: - - Name: $k - Entry: 1 - Data: _VideoScreenMesh - - Name: $v - Entry: 7 - Data: 44|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _VideoScreenMesh - - Name: k__BackingField - Entry: 9 - Data: 41 - - Name: k__BackingField - Entry: 9 - Data: 41 + Data: 44 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -680,19 +680,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapScreenMesh + Data: _VideoScreenMesh - Name: $v Entry: 7 Data: 47|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _MapScreenMesh + Data: _VideoScreenMesh - Name: k__BackingField Entry: 9 - Data: 41 + Data: 44 - Name: k__BackingField Entry: 9 - Data: 41 + Data: 44 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -734,16 +734,70 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapScreenMaterial + Data: _MapScreenMesh - Name: $v Entry: 7 Data: 50|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _MapScreenMesh + - Name: k__BackingField + Entry: 9 + Data: 44 + - Name: k__BackingField + Entry: 9 + Data: 44 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 51|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 52|UnityEngine.SerializeField, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: _MapScreenMaterial + - Name: $v + Entry: 7 + Data: 53|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _MapScreenMaterial - Name: k__BackingField Entry: 7 - Data: 51|System.RuntimeType, mscorlib + Data: 54|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.Material, UnityEngine.CoreModule @@ -752,7 +806,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 51 + Data: 54 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -767,13 +821,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 52|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 55|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 53|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 56|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -797,13 +851,13 @@ MonoBehaviour: Data: _PlaceholderMapTexture - Name: $v Entry: 7 - Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 57|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _PlaceholderMapTexture - Name: k__BackingField Entry: 7 - Data: 55|System.RuntimeType, mscorlib + Data: 58|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.Texture2D, UnityEngine.CoreModule @@ -812,7 +866,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 55 + Data: 58 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -827,13 +881,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 56|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 59|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 57|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 60|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -855,72 +909,18 @@ MonoBehaviour: - Name: $k Entry: 1 Data: _MapDownloader - - Name: $v - Entry: 7 - Data: 58|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _MapDownloader - - Name: k__BackingField - Entry: 7 - Data: 59|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: VRC.SDK3.Image.VRCImageDownloader, VRCSDK3 - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 59 - - Name: k__BackingField - Entry: 7 - Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - - Name: - Entry: 6 - Data: - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 5 - Data: false - - Name: _fieldAttributes - Entry: 7 - Data: 60|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 0 - - Name: - Entry: 13 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 7 - Data: - - Name: $k - Entry: 1 - Data: _MapImages - Name: $v Entry: 7 Data: 61|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _MapImages + Data: _MapDownloader - Name: k__BackingField Entry: 7 Data: 62|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: UnityEngine.Texture2D[], UnityEngine.CoreModule + Data: VRC.SDK3.Image.VRCImageDownloader, VRCSDK3 - Name: Entry: 8 Data: @@ -962,19 +962,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _UdonEventReceiverThis + Data: _MapImages - Name: $v Entry: 7 Data: 64|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _UdonEventReceiverThis + Data: _MapImages - Name: k__BackingField Entry: 7 Data: 65|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: VRC.Udon.Common.Interfaces.IUdonEventReceiver, VRC.Udon.Common + Data: UnityEngine.Texture2D[], UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1016,19 +1016,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CachedMapIndices + Data: _UdonEventReceiverThis - Name: $v Entry: 7 Data: 67|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CachedMapIndices + Data: _UdonEventReceiverThis - Name: k__BackingField Entry: 7 Data: 68|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: System.Int32[], mscorlib + Data: VRC.Udon.Common.Interfaces.IUdonEventReceiver, VRC.Udon.Common - Name: Entry: 8 Data: @@ -1070,10 +1070,64 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapDownloadIndex + Data: _CachedMapIndices - Name: $v Entry: 7 Data: 70|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _CachedMapIndices + - Name: k__BackingField + Entry: 7 + Data: 71|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Int32[], mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 71 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 72|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: _MapDownloadIndex + - Name: $v + Entry: 7 + Data: 73|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _MapDownloadIndex @@ -1097,7 +1151,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 71|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 74|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1121,7 +1175,7 @@ MonoBehaviour: Data: _MapDownloadsInProgress - Name: $v Entry: 7 - Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _MapDownloadsInProgress @@ -1145,7 +1199,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 73|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 76|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 diff --git a/Assets/UdonSharp/CaseVideoSyncPlayer.cs b/Assets/UdonSharp/CaseVideoSyncPlayer.cs index 75c68a5..f857059 100644 --- a/Assets/UdonSharp/CaseVideoSyncPlayer.cs +++ b/Assets/UdonSharp/CaseVideoSyncPlayer.cs @@ -28,6 +28,8 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour [UdonSynced, FieldChangeCallback(nameof(VideoURL))] private VRCUrl _VideoURL; [UdonSynced, FieldChangeCallback(nameof(TimeAndOffset))] private Vector2 _TimeAndOffset; + [UdonSynced] private bool _VideoIsPlaying; + [SerializeField] private BaseVRCVideoPlayer _VideoPlayer; [SerializeField] private float _SyncFrequency = 5.0f; @@ -188,20 +190,54 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour public void PlayVideo() { - _VideoPlayer.PlayURL(VideoURL); - RequestSerialization(); + _VideoPlayer.LoadURL(VideoURL); + + if (Networking.GetOwner(gameObject) == Networking.LocalPlayer) + { + _VideoIsPlaying = true; + RequestSerialization(); + } + } + + public void StopVideo() + { + _VideoPlayer.Stop(); + + if (Networking.GetOwner(gameObject) == Networking.LocalPlayer) + { + _VideoIsPlaying = false; + RequestSerialization(); + } + } + + public override void OnVideoReady() + { + if (_VideoIsPlaying) + { + _VideoPlayer.Play(); + } + + base.OnVideoReady(); } public override void OnVideoStart() { - ShowScreen = ClueScreenType.Video; - //UpdateTimeAndOffset(); + if (_VideoIsPlaying) + { + ShowScreen = ClueScreenType.Video; + //UpdateTimeAndOffset(); + } + else + { + _VideoPlayer.Stop(); + } base.OnVideoStart(); } public override void OnVideoEnd() { + StopVideo(); ShowScreen = ClueScreenType.Blank; base.OnVideoEnd(); @@ -251,6 +287,8 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour _BlankScreenMesh.transform.localPosition = new Vector3(0.0f, 0.0f, 0.0f); _VideoScreenMesh.transform.localPosition = new Vector3(0.0f, -1000.0f, 0.0f); _MapScreenMesh.transform.localPosition = new Vector3(0.0f, -1000.0f, 0.0f); + + StopVideo(); break; } case ClueScreenType.Video: @@ -265,6 +303,8 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour _BlankScreenMesh.transform.localPosition = new Vector3(0.0f, -1000.0f, 0.0f); _VideoScreenMesh.transform.localPosition = new Vector3(0.0f, -1000.0f, 0.0f); _MapScreenMesh.transform.localPosition = new Vector3(0.0f, 0.0f, 0.0f); + + StopVideo(); break; } } diff --git a/Assets/UdonSharp/Game Managers/GameManagerRound1.cs b/Assets/UdonSharp/Game Managers/GameManagerRound1.cs index 9a3d34a..c172c74 100644 --- a/Assets/UdonSharp/Game Managers/GameManagerRound1.cs +++ b/Assets/UdonSharp/Game Managers/GameManagerRound1.cs @@ -63,14 +63,15 @@ public class GameManagerRound1 : GameManagerBase _PlayerBuzzInAllowed = new bool[_PlayerPodiums.Length]; - Networking.SetOwner(Networking.GetOwner(gameObject), _Modem.gameObject); + VRCPlayerApi Owner = Networking.GetOwner(gameObject); + Networking.SetOwner(Owner, _VideoPlayer.gameObject); + Networking.SetOwner(Owner, _Modem.gameObject); + Networking.SetOwner(Owner, _ArrivalDisplay.gameObject); + Networking.SetOwner(Owner, _VideoMusicClueSkateboard.gameObject); + _Modem.Activate(false); - - Networking.SetOwner(Networking.GetOwner(gameObject), _ArrivalDisplay.gameObject); _ArrivalDisplay.Activate(false); - SendCustomNetworkEvent(NetworkEventTarget.All, nameof(ResetLightningRoundAnimation)); - _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusic", MusicEventType.WhereInTheWorld); SendCustomEventDelayedSeconds(nameof(PlaySecondPartOfThemeMusic), 3.6666666666f); @@ -538,8 +539,8 @@ public class GameManagerRound1 : GameManagerBase public void PlayLightningRoundAnimation() { _LightningRoundAnimator.SetBool("Lightning", true); + SendCustomEventDelayedSeconds(nameof(ResetLightningRoundAnimation), 5.0f); } - [NetworkCallable] public void ResetLightningRoundAnimation() { _LightningRoundAnimator.SetBool("Lightning", false); diff --git a/Assets/UdonSharp/UtilityScripts/BoneFollower.asset b/Assets/UdonSharp/UtilityScripts/BoneFollower.asset index b946757..036a370 100644 --- a/Assets/UdonSharp/UtilityScripts/BoneFollower.asset +++ b/Assets/UdonSharp/UtilityScripts/BoneFollower.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: BoneFollower m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: ccbda9bf23e2f714c9226283c77a92e5, + serializedUdonProgramAsset: {fileID: 11400000, guid: 52ecc8a73071e8e40928c3609699fcf4, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/InteractToggle.asset b/Assets/UdonSharp/UtilityScripts/InteractToggle.asset index b35639e..13d78db 100644 --- a/Assets/UdonSharp/UtilityScripts/InteractToggle.asset +++ b/Assets/UdonSharp/UtilityScripts/InteractToggle.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: InteractToggle m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: 405e38d3dfb2f514daeed0e28fbb4864, + serializedUdonProgramAsset: {fileID: 11400000, guid: 873dfce61b1514e429c92e0d2fded7de, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/PlayerModSetter.asset b/Assets/UdonSharp/UtilityScripts/PlayerModSetter.asset index 1def3de..d89a1a4 100644 --- a/Assets/UdonSharp/UtilityScripts/PlayerModSetter.asset +++ b/Assets/UdonSharp/UtilityScripts/PlayerModSetter.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: PlayerModSetter m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: f938e6c4ff027a74da405a1f9353fd2b, + serializedUdonProgramAsset: {fileID: 11400000, guid: e81558796a212ab4d88e305e2010f24b, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/Synced/GlobalToggleObject.asset b/Assets/UdonSharp/UtilityScripts/Synced/GlobalToggleObject.asset index 8101274..ea98aa4 100644 --- a/Assets/UdonSharp/UtilityScripts/Synced/GlobalToggleObject.asset +++ b/Assets/UdonSharp/UtilityScripts/Synced/GlobalToggleObject.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: GlobalToggleObject m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: c49c9265a3ef24642a6a4465d0a78872, + serializedUdonProgramAsset: {fileID: 11400000, guid: 2fe8ced6184000f49bca526cd2c5891c, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/Synced/MasterToggleObject.asset b/Assets/UdonSharp/UtilityScripts/Synced/MasterToggleObject.asset index 901d05e..b4b3ede 100644 --- a/Assets/UdonSharp/UtilityScripts/Synced/MasterToggleObject.asset +++ b/Assets/UdonSharp/UtilityScripts/Synced/MasterToggleObject.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: MasterToggleObject m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: 04024a76ab1924042ba521e11cb76d91, + serializedUdonProgramAsset: {fileID: 11400000, guid: a2d01d9f36ac6df49831be249e48ecc4, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/TrackingDataFollower.asset b/Assets/UdonSharp/UtilityScripts/TrackingDataFollower.asset index da92932..c624599 100644 --- a/Assets/UdonSharp/UtilityScripts/TrackingDataFollower.asset +++ b/Assets/UdonSharp/UtilityScripts/TrackingDataFollower.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: TrackingDataFollower m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: 17f8fbbe6cc186d4f8dbb057b01a4ec2, + serializedUdonProgramAsset: {fileID: 11400000, guid: 1b89d4552983c0448a7389decec3b555, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/WorldAudioSettings.asset b/Assets/UdonSharp/UtilityScripts/WorldAudioSettings.asset index ee4621f..5226f4f 100644 --- a/Assets/UdonSharp/UtilityScripts/WorldAudioSettings.asset +++ b/Assets/UdonSharp/UtilityScripts/WorldAudioSettings.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: WorldAudioSettings m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: 128d924a3066b7546b2d1c73e61006ab, + serializedUdonProgramAsset: {fileID: 11400000, guid: 994b559b0f158b4499f8937980ed8694, type: 2} udonAssembly: assemblyError: diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset index d925021..ba6209e 100644 --- a/ProjectSettings/AudioManager.asset +++ b/ProjectSettings/AudioManager.asset @@ -10,8 +10,8 @@ AudioManager: Default Speaker Mode: 2 m_SampleRate: 48000 m_DSPBufferSize: 1024 - m_VirtualVoiceCount: 32 - m_RealVoiceCount: 24 + m_VirtualVoiceCount: 64 + m_RealVoiceCount: 32 m_EnableOutputSuspension: 1 m_SpatializerPlugin: OculusSpatializer m_AmbisonicDecoderPlugin: OculusSpatializer