From be83f3a0b2d23264a968e7d4a5f294947ee7ace3 Mon Sep 17 00:00:00 2001 From: Jamie Greunbaum Date: Sun, 7 Dec 2025 18:56:59 -0500 Subject: [PATCH] Updating and loading videos on new case loads should now be much more reliable. --- Assets/Scenes/witwics.unity | 86 +-- .../CaseVideoSyncPlayer.asset | 668 +++++++++++------- .../CaseVideoSyncPlayer.cs | 188 +++-- Assets/UdonSharp/Game Managers/CaseManager.cs | 2 + .../Game Managers/GameManagerRound1.cs | 10 +- 5 files changed, 593 insertions(+), 361 deletions(-) diff --git a/Assets/Scenes/witwics.unity b/Assets/Scenes/witwics.unity index 3cc88f7..b2489b8 100644 --- a/Assets/Scenes/witwics.unity +++ b/Assets/Scenes/witwics.unity @@ -82874,7 +82874,7 @@ MonoBehaviour: PrefabModifications: [] SerializationNodes: [] _udonSharpBackingUdonBehaviour: {fileID: 2057791819} - _CaseManager: {fileID: 841163054} + _GameManager: {fileID: 515404446} _VideoPlayer: {fileID: 2057791821} _BlankScreenMesh: {fileID: 1123331149} _VideoScreenMesh: {fileID: 1123331146} @@ -93355,64 +93355,64 @@ MonoBehaviour: useAssignedLayers: 0 DynamicPrefabs: [] DynamicMaterials: - - {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2} - - {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2} - - {fileID: 2100000, guid: c10453b4aa0c864458b74f3797cb611e, type: 2} - - {fileID: 2100000, guid: 12e96dbe16f21704485645506bfc235a, type: 2} - - {fileID: 2100000, guid: 77cb94791cc41a5498279122022730b0, type: 2} - - {fileID: 2100000, guid: dba163de40c568b48ae2ffa7c83c66b9, type: 2} - - {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2} - - {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2} - - {fileID: 2100000, guid: 77485a45419b5da498cc74acff31c49a, type: 2} - - {fileID: 2100000, guid: 483ceb65615010745bde1d5ff9fd9dd6, type: 2} - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 2100000, guid: bc5888e576e9cb34bab7b7af42d2b63f, type: 2} - - {fileID: 2100000, guid: 1eb2f964062497347b887d2c940e79c5, type: 2} - - {fileID: 2100000, guid: d23dd47c26278f94ea3bc15c730f59ed, type: 2} - - {fileID: 2100000, guid: c0998459c7ac0e94d825035839d01ac9, type: 2} - - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} - - {fileID: 2100000, guid: e53b90b5a4f1c3048b28024a40b455e7, type: 2} - - {fileID: 2100000, guid: 98b5c6e030fc83d48bbba9e927a456d4, type: 2} - - {fileID: 2100000, guid: db9b2b735115eb248a189b1fdc721a50, type: 2} - - {fileID: 2100000, guid: 9d4baac78c2042b47b42fc9c92d87767, type: 2} - - {fileID: 2100000, guid: c5d2a6b0c3904c747b937dd142cbb480, type: 2} - {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2} - - {fileID: 2100000, guid: fa8f228d6d5f77d479bf970e355f4bc3, type: 2} - - {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2} - - {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2} - - {fileID: 2100000, guid: 8de5e47a4e3831b40b59595ad3e2e267, type: 2} - - {fileID: 2100000, guid: 6075d345a5007be4abb1a4485d1ebb5f, type: 2} - - {fileID: 2100000, guid: 79cdc811085b366438fb60b12a3642ba, type: 2} - - {fileID: 2100000, guid: 8db36ece14c543d47be04e1d0cde1a1f, type: 2} - - {fileID: 2100000, guid: d7188495ea0838346af40c820ec9ffc8, type: 2} - - {fileID: 2100000, guid: 80746b095abb6ce41a1c737df3649172, type: 2} - - {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2} - - {fileID: 2100000, guid: 90a6fdf8f72a7a84d83dcb448e0f749e, type: 2} - - {fileID: 2100000, guid: 012e77fb6a6d69548802da3b41814618, type: 2} - - {fileID: 2100000, guid: 4d875a76d6e247742b8d3d66214b2c2d, type: 2} - - {fileID: 2100000, guid: d2b3854a83244764192826cd7eadc955, type: 2} - - {fileID: 2100000, guid: ffd504a9168a01c459170bb8f2fcea1c, type: 2} - - {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2} + - {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2} + - {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2} - {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2} - {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2} - - {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2} - - {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2} - - {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2} - - {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2} - - {fileID: 2100000, guid: 51b03d257a738e6468f623865f31dbec, type: 2} - {fileID: 2100000, guid: af0c1cbaaffed304ba0e3a1fbac41e7e, type: 2} - {fileID: 2100000, guid: cc22c7f9de95cab4488b30fe8699a82a, type: 2} - {fileID: 2100000, guid: fe872fb72ad98da4dbb868481468e848, type: 2} + - {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2} + - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} + - {fileID: 2100000, guid: e53b90b5a4f1c3048b28024a40b455e7, type: 2} - {fileID: 2100000, guid: 4de84333504452948874f4422dec7b56, type: 2} - {fileID: 2100000, guid: 97a375a2664a65f44a74b8e0711591fb, type: 2} + - {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2} - {fileID: 2100000, guid: 71fff76911e92ab43a71d15602da4c4b, type: 2} - {fileID: 2100000, guid: 4c14b2f4b9a613f418bb1e6cf8cf68f4, type: 2} - {fileID: 2100000, guid: ea08301eace4f164bb3aae930413a978, type: 2} - {fileID: 2100000, guid: 6dd6b8b1c8133f04dbc23ac81f5dfded, type: 2} + - {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2} + - {fileID: 2100000, guid: 012e77fb6a6d69548802da3b41814618, type: 2} + - {fileID: 2100000, guid: 4d875a76d6e247742b8d3d66214b2c2d, type: 2} + - {fileID: 2100000, guid: 12e96dbe16f21704485645506bfc235a, type: 2} + - {fileID: 2100000, guid: 8db36ece14c543d47be04e1d0cde1a1f, type: 2} + - {fileID: 2100000, guid: 77485a45419b5da498cc74acff31c49a, type: 2} + - {fileID: 2100000, guid: d2b3854a83244764192826cd7eadc955, type: 2} + - {fileID: 2100000, guid: 8de5e47a4e3831b40b59595ad3e2e267, type: 2} + - {fileID: 2100000, guid: d23dd47c26278f94ea3bc15c730f59ed, type: 2} + - {fileID: 2100000, guid: 77cb94791cc41a5498279122022730b0, type: 2} + - {fileID: 2100000, guid: 98b5c6e030fc83d48bbba9e927a456d4, type: 2} + - {fileID: 2100000, guid: c0998459c7ac0e94d825035839d01ac9, type: 2} + - {fileID: 2100000, guid: fa8f228d6d5f77d479bf970e355f4bc3, type: 2} + - {fileID: 2100000, guid: 90a6fdf8f72a7a84d83dcb448e0f749e, type: 2} + - {fileID: 2100000, guid: 6075d345a5007be4abb1a4485d1ebb5f, type: 2} + - {fileID: 2100000, guid: d7188495ea0838346af40c820ec9ffc8, type: 2} + - {fileID: 2100000, guid: 79cdc811085b366438fb60b12a3642ba, type: 2} + - {fileID: 2100000, guid: ffd504a9168a01c459170bb8f2fcea1c, type: 2} - {fileID: 2100000, guid: 98166ed003d332e488319f662c3b4429, type: 2} + - {fileID: 2100000, guid: c5d2a6b0c3904c747b937dd142cbb480, type: 2} - {fileID: 2100000, guid: 53b84df3db050264db8132d12d59ac74, type: 2} + - {fileID: 2100000, guid: 9d4baac78c2042b47b42fc9c92d87767, type: 2} + - {fileID: 2100000, guid: db9b2b735115eb248a189b1fdc721a50, type: 2} - {fileID: 2100000, guid: cc8e36941dd3f2c42a157650e05b9242, type: 2} + - {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2} + - {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2} - {fileID: 2100000, guid: a94d8fe1854504e47a64e023cecaa130, type: 2} + - {fileID: 2100000, guid: 51b03d257a738e6468f623865f31dbec, type: 2} + - {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2} + - {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2} + - {fileID: 2100000, guid: 1eb2f964062497347b887d2c940e79c5, type: 2} + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2} + - {fileID: 2100000, guid: bc5888e576e9cb34bab7b7af42d2b63f, type: 2} + - {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2} + - {fileID: 2100000, guid: 80746b095abb6ce41a1c737df3649172, type: 2} + - {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2} + - {fileID: 2100000, guid: dba163de40c568b48ae2ffa7c83c66b9, type: 2} + - {fileID: 2100000, guid: 483ceb65615010745bde1d5ff9fd9dd6, type: 2} + - {fileID: 2100000, guid: c10453b4aa0c864458b74f3797cb611e, type: 2} LightMapsNear: [] LightMapsFar: [] LightMode: 0 diff --git a/Assets/UdonSharp/CaseVideoSyncPlayer/CaseVideoSyncPlayer.asset b/Assets/UdonSharp/CaseVideoSyncPlayer/CaseVideoSyncPlayer.asset index 2872921..d6ba22c 100644 --- a/Assets/UdonSharp/CaseVideoSyncPlayer/CaseVideoSyncPlayer.asset +++ b/Assets/UdonSharp/CaseVideoSyncPlayer/CaseVideoSyncPlayer.asset @@ -44,25 +44,25 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 24 + Data: 27 - Name: Entry: 7 Data: - Name: $k Entry: 1 - Data: _CaseManager + Data: _GameManager - Name: $v Entry: 7 Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CaseManager + Data: _GameManager - Name: k__BackingField Entry: 7 Data: 3|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: CaseManager, Assembly-CSharp + Data: GameManagerRound1, Assembly-CSharp - Name: Entry: 8 Data: @@ -176,19 +176,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _SyncFrequency + Data: _BlankScreenMesh - Name: $v Entry: 7 Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _SyncFrequency + Data: _BlankScreenMesh - Name: k__BackingField Entry: 7 Data: 12|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: System.Single, mscorlib + Data: UnityEngine.MeshRenderer, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -206,13 +206,28 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 5 - Data: false + Data: true - Name: _fieldAttributes Entry: 7 Data: 13|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 0 + Data: 2 + - Name: + Entry: 7 + Data: 14|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + - Name: header + Entry: 1 + Data: Meshes + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 15|UnityEngine.SerializeField, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: - Name: Entry: 13 Data: @@ -230,25 +245,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _BlankScreenMesh + Data: _VideoScreenMesh - Name: $v Entry: 7 - Data: 14|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _BlankScreenMesh + Data: _VideoScreenMesh - Name: k__BackingField - Entry: 7 - Data: 15|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: UnityEngine.MeshRenderer, UnityEngine.CoreModule - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 12 - Name: k__BackingField Entry: 9 - Data: 15 + Data: 12 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -263,19 +272,10 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 16|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 2 - - Name: - Entry: 7 - Data: 17|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - - Name: header - Entry: 1 - Data: Meshes - - Name: - Entry: 8 - Data: + Data: 1 - Name: Entry: 7 Data: 18|UnityEngine.SerializeField, UnityEngine.CoreModule @@ -299,19 +299,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _VideoScreenMesh + Data: _MapScreenMesh - Name: $v Entry: 7 Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _VideoScreenMesh + Data: _MapScreenMesh - Name: k__BackingField Entry: 9 - Data: 15 + Data: 12 - Name: k__BackingField Entry: 9 - Data: 15 + Data: 12 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -353,70 +353,16 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapScreenMesh + Data: _MapScreenMaterial - Name: $v Entry: 7 Data: 22|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _MapScreenMesh - - Name: k__BackingField - Entry: 9 - Data: 15 - - Name: k__BackingField - Entry: 9 - Data: 15 - - 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: 23|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 24|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: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _MapScreenMaterial - Name: k__BackingField Entry: 7 - Data: 26|System.RuntimeType, mscorlib + Data: 23|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.Material, UnityEngine.CoreModule @@ -425,7 +371,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 26 + Data: 23 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -440,13 +386,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 27|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 24|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 28|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + Data: 25|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - Name: header Entry: 1 Data: Materials @@ -455,7 +401,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 29|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 26|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -479,13 +425,13 @@ MonoBehaviour: Data: _PlaceholderMapTexture - Name: $v Entry: 7 - Data: 30|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _PlaceholderMapTexture - Name: k__BackingField Entry: 7 - Data: 31|System.RuntimeType, mscorlib + Data: 28|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.Texture2D, UnityEngine.CoreModule @@ -494,7 +440,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 31 + Data: 28 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -509,13 +455,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 32|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 29|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 33|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 30|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -539,13 +485,13 @@ MonoBehaviour: Data: _VideoLoadIndicators - Name: $v Entry: 7 - Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _VideoLoadIndicators - Name: k__BackingField Entry: 7 - Data: 35|System.RuntimeType, mscorlib + Data: 32|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VideoLoadIndicator[], Assembly-CSharp @@ -554,7 +500,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 7 - Data: 36|System.RuntimeType, mscorlib + Data: 33|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.Component[], UnityEngine.CoreModule @@ -575,13 +521,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 37|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 34|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 38|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + Data: 35|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - Name: header Entry: 1 Data: Video Status @@ -590,7 +536,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 39|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 36|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -614,13 +560,13 @@ MonoBehaviour: Data: _SubMapIndex - Name: $v Entry: 7 - Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _SubMapIndex - Name: k__BackingField Entry: 7 - Data: 41|System.RuntimeType, mscorlib + Data: 38|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Int32, mscorlib @@ -629,7 +575,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 41 + Data: 38 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -644,19 +590,19 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 39|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 43|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 40|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 44|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 41|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -680,13 +626,13 @@ MonoBehaviour: Data: _ShowScreen - Name: $v Entry: 7 - Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 42|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _ShowScreen - Name: k__BackingField Entry: 7 - Data: 46|System.RuntimeType, mscorlib + Data: 43|System.RuntimeType, mscorlib - Name: Entry: 1 Data: ClueScreenType, Assembly-CSharp @@ -695,7 +641,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 41 + Data: 38 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -710,19 +656,19 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 44|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 48|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 45|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 49|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 46|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -746,13 +692,13 @@ MonoBehaviour: Data: _FlashCorrectAnswer - Name: $v Entry: 7 - Data: 50|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 47|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _FlashCorrectAnswer - Name: k__BackingField Entry: 7 - Data: 51|System.RuntimeType, mscorlib + Data: 48|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Boolean, mscorlib @@ -761,7 +707,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 51 + Data: 48 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -776,19 +722,19 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 52|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 49|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 53|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 50|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 54|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 51|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -812,16 +758,16 @@ MonoBehaviour: Data: _VideoIndex - Name: $v Entry: 7 - Data: 55|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 52|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _VideoIndex - Name: k__BackingField Entry: 9 - Data: 41 + Data: 38 - Name: k__BackingField Entry: 9 - Data: 41 + Data: 38 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -836,19 +782,19 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 56|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 53|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 57|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 54|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 58|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 55|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -872,13 +818,13 @@ MonoBehaviour: Data: _TimeAndOffset - Name: $v Entry: 7 - Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 56|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _TimeAndOffset - Name: k__BackingField Entry: 7 - Data: 60|System.RuntimeType, mscorlib + Data: 57|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.Vector2, UnityEngine.CoreModule @@ -887,7 +833,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 60 + Data: 57 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -902,19 +848,19 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 62|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 59|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 63|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 60|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -938,16 +884,16 @@ MonoBehaviour: Data: _VideoIsPlaying - Name: $v Entry: 7 - Data: 64|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 61|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _VideoIsPlaying - Name: k__BackingField Entry: 9 - Data: 51 + Data: 48 - Name: k__BackingField Entry: 9 - Data: 51 + Data: 48 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -962,19 +908,19 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 65|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 62|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 66|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 63|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 67|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 64|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -995,25 +941,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CachedMapIndices + Data: _CaseMapsList - Name: $v Entry: 7 - Data: 68|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 65|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CachedMapIndices + Data: _CaseMapsList - Name: k__BackingField Entry: 7 - Data: 69|System.RuntimeType, mscorlib + Data: 66|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: System.Int32[], mscorlib + Data: VRC.SDKBase.VRCUrl[], VRCSDKBase - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 69 + Data: 66 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1028,13 +974,13 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 70|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 67|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 71|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 68|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -1055,19 +1001,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _LoadedMaps + Data: _CaseMapsListCache - Name: $v Entry: 7 - Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 69|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _LoadedMaps + Data: _CaseMapsListCache - Name: k__BackingField Entry: 9 - Data: 69 + Data: 66 - Name: k__BackingField Entry: 9 - Data: 69 + Data: 66 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1082,7 +1028,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 73|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 70|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1103,25 +1049,79 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapDownloader + Data: _CachedMapIndices - Name: $v Entry: 7 - Data: 74|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 71|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _MapDownloader + Data: _CachedMapIndices - Name: k__BackingField Entry: 7 - Data: 75|System.RuntimeType, mscorlib + Data: 72|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: VRC.SDK3.Image.VRCImageDownloader, VRCSDK3 + Data: System.Int32[], mscorlib - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 75 + Data: 72 + - 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: 73|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 74|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: _LoadedMaps + - Name: $v + Entry: 7 + Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _LoadedMaps + - Name: k__BackingField + Entry: 9 + Data: 72 + - Name: k__BackingField + Entry: 9 + Data: 72 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1157,31 +1157,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapImages + Data: _CaseVideoList - Name: $v Entry: 7 Data: 77|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _MapImages + Data: _CaseVideoList - Name: k__BackingField - Entry: 7 - Data: 78|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: UnityEngine.Texture2D[], UnityEngine.CoreModule - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 66 - Name: k__BackingField Entry: 9 - Data: 78 + Data: 66 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - Name: - Entry: 6 - Data: + Entry: 3 + Data: 1 - Name: Entry: 8 Data: @@ -1190,10 +1184,16 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 79|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 78|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 0 + Data: 1 + - Name: + Entry: 7 + Data: 79|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + - Name: + Entry: 8 + Data: - Name: Entry: 13 Data: @@ -1211,25 +1211,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _UdonEventReceiverThis + Data: _CaseVideoListCache - Name: $v Entry: 7 Data: 80|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _UdonEventReceiverThis + Data: _CaseVideoListCache - Name: k__BackingField - Entry: 7 - Data: 81|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: VRC.Udon.Common.Interfaces.IUdonEventReceiver, VRC.Udon.Common - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 66 - Name: k__BackingField Entry: 9 - Data: 81 + Data: 66 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1244,7 +1238,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 82|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 81|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1265,19 +1259,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapDownloadIndex + Data: _MapDownloader - Name: $v Entry: 7 - Data: 83|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 82|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _MapDownloadIndex + Data: _MapDownloader - Name: k__BackingField - Entry: 9 - Data: 41 + Entry: 7 + Data: 83|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: VRC.SDK3.Image.VRCImageDownloader, VRCSDK3 + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 41 + Data: 83 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1313,19 +1313,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapDownloadsInProgress + Data: _MapImages - Name: $v Entry: 7 Data: 85|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _MapDownloadsInProgress + Data: _MapImages - Name: k__BackingField - Entry: 9 - Data: 51 + Entry: 7 + Data: 86|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Texture2D[], UnityEngine.CoreModule + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 51 + Data: 86 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1340,7 +1346,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 86|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 87|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1361,67 +1367,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _VideoLoadAttemptCounter + Data: _UdonEventReceiverThis - Name: $v Entry: 7 - Data: 87|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 88|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _VideoLoadAttemptCounter + Data: _UdonEventReceiverThis - Name: k__BackingField - Entry: 9 - Data: 41 + Entry: 7 + Data: 89|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: VRC.Udon.Common.Interfaces.IUdonEventReceiver, VRC.Udon.Common + - Name: + Entry: 8 + 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: false - - Name: _fieldAttributes - Entry: 7 - Data: 88|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: _UseFallback - - Name: $v - Entry: 7 - Data: 89|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _UseFallback - - Name: k__BackingField - Entry: 9 - Data: 51 - - Name: k__BackingField - Entry: 9 - Data: 51 + Data: 89 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1452,6 +1416,198 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: _MapDownloadIndex + - Name: $v + Entry: 7 + Data: 91|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _MapDownloadIndex + - Name: k__BackingField + Entry: 9 + Data: 38 + - Name: k__BackingField + Entry: 9 + Data: 38 + - 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: 92|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: _MapDownloadsInProgress + - Name: $v + Entry: 7 + Data: 93|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _MapDownloadsInProgress + - Name: k__BackingField + Entry: 9 + Data: 48 + - Name: k__BackingField + Entry: 9 + Data: 48 + - 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: 94|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: _VideoLoadAttemptCounter + - Name: $v + Entry: 7 + Data: 95|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _VideoLoadAttemptCounter + - Name: k__BackingField + Entry: 9 + Data: 38 + - Name: k__BackingField + Entry: 9 + Data: 38 + - 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: 96|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: _UseFallback + - Name: $v + Entry: 7 + Data: 97|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _UseFallback + - Name: k__BackingField + Entry: 9 + Data: 48 + - Name: k__BackingField + Entry: 9 + Data: 48 + - 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: 98|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: 13 Data: diff --git a/Assets/UdonSharp/CaseVideoSyncPlayer/CaseVideoSyncPlayer.cs b/Assets/UdonSharp/CaseVideoSyncPlayer/CaseVideoSyncPlayer.cs index c437f40..6de0474 100644 --- a/Assets/UdonSharp/CaseVideoSyncPlayer/CaseVideoSyncPlayer.cs +++ b/Assets/UdonSharp/CaseVideoSyncPlayer/CaseVideoSyncPlayer.cs @@ -1,4 +1,5 @@  +using Newtonsoft.Json.Linq; using UdonSharp; using UnityEngine; using VRC.SDK3.Components.Video; @@ -21,10 +22,10 @@ public enum ClueScreenType [UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] public class CaseVideoSyncPlayer : UdonSharpBehaviour { - [SerializeField] private CaseManager _CaseManager; + [SerializeField] private GameManagerRound1 _GameManager; [SerializeField] private BaseVRCVideoPlayer _VideoPlayer; - /*[SerializeField]*/ private float _SyncFrequency = 5.0f; + //[SerializeField] private float _SyncFrequency = 5.0f; [Header("Meshes")] [SerializeField] private MeshRenderer _BlankScreenMesh; @@ -47,9 +48,15 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour [UdonSynced, FieldChangeCallback(nameof(PlayVideo))] private bool _VideoIsPlaying; + [UdonSynced] private VRCUrl[] _CaseMapsList = new VRCUrl[0]; + private VRCUrl[] _CaseMapsListCache = new VRCUrl[0]; + [UdonSynced] private int[] _CachedMapIndices = new int[0]; private int[] _LoadedMaps = new int[0]; + [UdonSynced] private VRCUrl[] _CaseVideoList = new VRCUrl[0]; + private VRCUrl[] _CaseVideoListCache = new VRCUrl[0]; + private VRCImageDownloader _MapDownloader; private Texture2D[] _MapImages = new Texture2D[0]; private IUdonEventReceiver _UdonEventReceiverThis; @@ -80,37 +87,73 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour public override void OnDeserialization(DeserializationResult Result) { - if (_MapDownloadsInProgress) - { - return; - } + { // Map syncing and redownloading + _ReloadMapList(); - bool MapsNeedLoading = false; - if (_LoadedMaps.Length == _CachedMapIndices.Length) - { - for(int i = 0; i < _CachedMapIndices.Length; i++) + if (_MapDownloadsInProgress) { - if (_CachedMapIndices[i] != _LoadedMaps[i]) + return; + } + + bool MapsNeedLoading = false; + if (_LoadedMaps.Length == _CachedMapIndices.Length) + { + for (int i = 0; i < _CachedMapIndices.Length; i++) { - MapsNeedLoading = true; - break; + if (_CachedMapIndices[i] != _LoadedMaps[i]) + { + MapsNeedLoading = true; + break; + } } } - } - else - { - MapsNeedLoading = true; + else + { + MapsNeedLoading = true; + } + + if (MapsNeedLoading) + { + Debug.Log("[CaseVideoSyncPlayer] Redownloading old maps..."); + QueueMapDownloads(_CachedMapIndices); + } } - if (MapsNeedLoading) - { - Debug.Log("[CaseVideoSyncPlayer] Redownloading old maps..."); - QueueMapDownloads(_CachedMapIndices); + { // Video syncing and redownloading + _ReloadVideoList(); } base.OnDeserialization(Result); } + public void SetNewLists(VRCUrl[] Maps, VRCUrl[] Videos) + { + _CaseMapsList = Maps; + _ReloadMapList(); + + _CaseVideoList = Videos; + _ReloadVideoList(); + + RequestSerialization(); + } + + private void _ReloadMapList() + { + if (_IsUrlListDifferent(_CaseMapsList, _CaseMapsListCache)) + { + _CaseMapsListCache = (VRCUrl[])_CaseMapsList.Clone(); + } + } + + private void _ReloadVideoList() + { + if (_IsUrlListDifferent(_CaseVideoList, _CaseVideoListCache)) + { + _CaseVideoListCache = (VRCUrl[])_CaseVideoList.Clone(); + _GameManager.TryIntroVideoLoad(); + } + } + [NetworkCallable] public void QueueMapDownloads(int[] MapIndices) @@ -148,11 +191,11 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour _MapDownloadIndex = 0; LoadMapFromIndex(_CachedMapIndices[_MapDownloadIndex]); } - _LoadedMaps = _CachedMapIndices; + _LoadedMaps = (int[])_CachedMapIndices.Clone(); } private void LoadMapFromIndex(int MapIndex) { - VRCUrl MapURL = _CaseManager.GetMap(MapIndex); + VRCUrl MapURL = _CaseMapsList[MapIndex]; TextureInfo AdditionalTextureInfo = new TextureInfo(); AdditionalTextureInfo.WrapModeU = TextureWrapMode.Clamp; @@ -235,15 +278,26 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour } + public void SetVideoIndexLocal(int Index) + { + _VideoIndex = Index; + _VideoLoadAttemptCounter = 0; + if (_VideoIndex >= 0) + { + _UseFallback = false; + _LoadVideo_Private(); + } + } + private void _LoadVideo_Private() { TryLoadURL(); } public void TryLoadURL() { - if (VideoIndex >= 0 && VideoIndex < _CaseManager.GetVideoCount()) + if (VideoIndex >= 0 && VideoIndex < _CaseVideoList.Length) { - _VideoPlayer.LoadURL(_CaseManager.GetVideo(VideoIndex, _UseFallback)); + _VideoPlayer.LoadURL(_CaseVideoList[VideoIndex]); SetVideoLoadStatus(IndicationStatus.Loading); } else @@ -280,8 +334,6 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour public override void OnVideoReady() { - Debug.Log("[CaseVideoSyncPlayer] Video is ready."); - if (_VideoIsPlaying) { _PlayVideo_Private(); @@ -309,8 +361,9 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour Debug.LogError("[CaseVideoSyncPlayer] Error with video player."); break; case VideoError.RateLimited: - Debug.LogError("[CaseVideoSyncPlayer] Rate limited."); - break; + Debug.LogError("[CaseVideoSyncPlayer] Rate limited. Attempting another reload in 2 seconds..."); + SendCustomEventDelayedSeconds(nameof(TryLoadURL), 2.1f); + return; } //if (_UseFallback) @@ -371,39 +424,39 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour public void SetVideoLoadStatus(IndicationStatus Status) { - Debug.Log("[CaseVideoSyncPlayer] Checking video load indicators for " + Networking.LocalPlayer.displayName + "..."); + //Debug.Log("[CaseVideoSyncPlayer] Checking video load indicators for " + Networking.LocalPlayer.displayName + "..."); foreach (VideoLoadIndicator Indicator in _VideoLoadIndicators) { if (Indicator.GetOwner() == Networking.LocalPlayer.displayName) { - Debug.Log("[CaseVideoSyncPlayer] " + Indicator.GetOwner() + "'s video load indicator was found. Setting status to " + Status + "..."); + //Debug.Log("[CaseVideoSyncPlayer] " + Indicator.GetOwner() + "'s video load indicator was found. Setting status to " + Status + "..."); Indicator.IndicateStatus = Status; } - else - { - Debug.Log("[CaseVideoSyncPlayer] This one is owned by " + Indicator.GetOwner() + ". Not what we want."); - } + //else + //{ + // Debug.Log("[CaseVideoSyncPlayer] This one is owned by " + Indicator.GetOwner() + ". Not what we want."); + //} } } - private void UpdateTimeAndOffset() - { - if (Networking.IsOwner(gameObject)) - { - TimeAndOffset = new Vector2(_VideoPlayer.GetTime(), (float)Networking.GetServerTimeInSeconds()); + //private void UpdateTimeAndOffset() + //{ + // if (Networking.IsOwner(gameObject)) + // { + // TimeAndOffset = new Vector2(_VideoPlayer.GetTime(), (float)Networking.GetServerTimeInSeconds()); - if (_SyncFrequency > 0.0f) - { - SendCustomEventDelayedSeconds(nameof(UpdateTimeAndOffset), _SyncFrequency); - } - } - else - { - Resync(); - } + // if (_SyncFrequency > 0.0f) + // { + // SendCustomEventDelayedSeconds(nameof(UpdateTimeAndOffset), _SyncFrequency); + // } + // } + // else + // { + // Resync(); + // } - RequestSerialization(); - } + // RequestSerialization(); + //} public void Resync() { @@ -419,7 +472,7 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour } - private void SwapToScreen(ClueScreenType Screen) + private void _SwapToScreen(ClueScreenType Screen) { if (ShowScreen == Screen) return; @@ -455,6 +508,26 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour RequestSerialization(); } + private bool _IsUrlListDifferent(VRCUrl[] New, VRCUrl[] Cached) + { + if (New.Length == Cached.Length) + { + for (int i = 0; i < New.Length; i++) + { + if (New[i].ToString() != Cached[i].ToString()) + { + return true; + } + } + } + else + { + return true; + } + + return false; + } + public int SubMapIndex { @@ -470,7 +543,7 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour { set { - SwapToScreen(value); + _SwapToScreen(value); _ShowScreen = value; } get => _ShowScreen; @@ -491,14 +564,11 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour { set { - _VideoIndex = value; - _VideoLoadAttemptCounter = 0; - if (_VideoIndex >= 0) + if (_VideoIndex != value) { - _UseFallback = false; - _LoadVideo_Private(); + SetVideoIndexLocal(value); + RequestSerialization(); } - RequestSerialization(); } get => _VideoIndex; } diff --git a/Assets/UdonSharp/Game Managers/CaseManager.cs b/Assets/UdonSharp/Game Managers/CaseManager.cs index ae81124..b854539 100644 --- a/Assets/UdonSharp/Game Managers/CaseManager.cs +++ b/Assets/UdonSharp/Game Managers/CaseManager.cs @@ -116,6 +116,8 @@ public class CaseManager : UdonSharpBehaviour _CaseFileVideosFallback = CaseFile.FallbackVideoFiles; _CaseFileClueImages = CaseFile.ClueImages; + _Round1Manager.SetNewVideoPlayerLists(_CaseFileMaps, _CaseFileVideos); + VRCStringDownloader.LoadUrl(_CaseFileCluesURL, (IUdonEventReceiver)this); } diff --git a/Assets/UdonSharp/Game Managers/GameManagerRound1.cs b/Assets/UdonSharp/Game Managers/GameManagerRound1.cs index 863680a..96e38ba 100644 --- a/Assets/UdonSharp/Game Managers/GameManagerRound1.cs +++ b/Assets/UdonSharp/Game Managers/GameManagerRound1.cs @@ -139,16 +139,20 @@ public class GameManagerRound1 : GameManagerBase Interface.HeaderUI.text = _CaseManager.GetCaseTitle() + " has been loaded."; Interface.CommentUI.text = _CaseManager.GetCaseDescription(); - TryIntroVideoLoad(); - _GameHasBegun = false; } + + + public void SetNewVideoPlayerLists(VRCUrl[] Maps, VRCUrl[] Videos) + { + _VideoPlayer.SetNewLists(Maps, Videos); + } public void TryIntroVideoLoad() { int IntroVideoIndex = _CaseManager.GetIntroVideo(); if (IntroVideoIndex >= 0) { - _VideoPlayer.VideoIndex = IntroVideoIndex; + _VideoPlayer.SetVideoIndexLocal(IntroVideoIndex); } else {