diff --git a/Assets/Materials/M_LocationBoard_Loot.mat b/Assets/Materials/M_LocationBoard_Loot.mat index ef50319..7a847c2 100644 --- a/Assets/Materials/M_LocationBoard_Loot.mat +++ b/Assets/Materials/M_LocationBoard_Loot.mat @@ -46,7 +46,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 10300, guid: 0000000000000000f000000000000000, type: 0} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Scenes/witwics.unity b/Assets/Scenes/witwics.unity index 20243dc..ca6c8e1 100644 --- a/Assets/Scenes/witwics.unity +++ b/Assets/Scenes/witwics.unity @@ -5124,10 +5124,15 @@ PrefabInstance: propertyPath: _CaseManager value: objectReference: {fileID: 841163054} + - target: {fileID: 6858734047833335697, guid: 3929edff864c3a84abaac327dbadaf65, + type: 3} + propertyPath: LootImage.url + value: https://witwics-dev.github.io/TheWilliamsburglary/LootImageS.png + objectReference: {fileID: 0} - target: {fileID: 6858734047833335697, guid: 3929edff864c3a84abaac327dbadaf65, type: 3} propertyPath: CaseFileURL.url - value: https://witwics-dev.github.io/TheWilliamsburglary.json + value: https://witwics-dev.github.io/TheWilliamsburglary/Case.json objectReference: {fileID: 0} - target: {fileID: 6858734047833335697, guid: 3929edff864c3a84abaac327dbadaf65, type: 3} diff --git a/Assets/UdonSharp/Game Managers/CaseManager.asset b/Assets/UdonSharp/Game Managers/CaseManager.asset index 8bf1ec8..7cb0ac6 100644 --- a/Assets/UdonSharp/Game Managers/CaseManager.asset +++ b/Assets/UdonSharp/Game Managers/CaseManager.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 10 + Data: 11 - Name: Entry: 7 Data: @@ -464,25 +464,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CaseFileMaps + Data: _CaseFileLootImage - Name: $v Entry: 7 Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CaseFileMaps + Data: _CaseFileLootImage - Name: k__BackingField - Entry: 7 - Data: 30|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: VRC.SDKBase.VRCUrl[], VRCSDKBase - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 3 - Name: k__BackingField Entry: 9 - Data: 30 + Data: 3 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -497,7 +491,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 30|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -518,19 +512,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CaseFileVideos + Data: _CaseFileMaps - Name: $v Entry: 7 - Data: 32|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CaseFileVideos + Data: _CaseFileMaps - Name: k__BackingField - Entry: 9 - Data: 30 + Entry: 7 + Data: 32|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: VRC.SDKBase.VRCUrl[], VRCSDKBase + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 30 + Data: 32 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -566,25 +566,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CaseFileDictionary + Data: _CaseFileVideos - Name: $v Entry: 7 Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CaseFileDictionary + Data: _CaseFileVideos - Name: k__BackingField - Entry: 7 - Data: 35|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: VRC.SDK3.Data.DataDictionary, VRCSDK3 - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 32 - Name: k__BackingField Entry: 9 - Data: 35 + Data: 32 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -599,7 +593,61 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 35|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: _CaseFileDictionary + - Name: $v + Entry: 7 + Data: 36|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _CaseFileDictionary + - Name: k__BackingField + Entry: 7 + Data: 37|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: VRC.SDK3.Data.DataDictionary, VRCSDK3 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 37 + - 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: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 diff --git a/Assets/UdonSharp/Game Managers/CaseManager.cs b/Assets/UdonSharp/Game Managers/CaseManager.cs index e8ed8f4..3cba6ec 100644 --- a/Assets/UdonSharp/Game Managers/CaseManager.cs +++ b/Assets/UdonSharp/Game Managers/CaseManager.cs @@ -38,6 +38,7 @@ public class CaseManager : UdonSharpBehaviour [SerializeField] private Texture[] CrookPortraits; private VRCUrl _CaseFileCluesURL; + private VRCUrl _CaseFileLootImage; private VRCUrl[] _CaseFileMaps; private VRCUrl[] _CaseFileVideos; private DataDictionary _CaseFileDictionary; @@ -46,6 +47,7 @@ public class CaseManager : UdonSharpBehaviour public void LoadCaseFile(CaseManagerListEntry CaseFile) { _CaseFileCluesURL = CaseFile.CaseFileURL; + _CaseFileLootImage = CaseFile.LootImage; _CaseFileMaps = CaseFile.MapFiles; _CaseFileVideos = CaseFile.VideoFiles; @@ -160,6 +162,11 @@ public class CaseManager : UdonSharpBehaviour return _CaseFileMaps[MapIndex]; } + public VRCUrl GetLootImage() + { + return _CaseFileLootImage; + } + public VRCUrl GetIntroVideo() { return _CaseFileVideos[0]; @@ -185,6 +192,7 @@ public class CaseManager : UdonSharpBehaviour case AccusedCrook.PattyLarceny: return "Patty Larceny"; case AccusedCrook.Robocrook: return "Robocrook"; case AccusedCrook.SarahNade: return "Sarah Nade"; + case AccusedCrook.TopGrunge: return "Top Grunge"; case AccusedCrook.VicTheSlick: return "Vic The Slick"; case AccusedCrook.WonderRat: return "Wonder Rat"; } diff --git a/Assets/UdonSharp/Game Managers/CaseManagerListEntry.cs b/Assets/UdonSharp/Game Managers/CaseManagerListEntry.cs index 64b8a2e..06dc18c 100644 --- a/Assets/UdonSharp/Game Managers/CaseManagerListEntry.cs +++ b/Assets/UdonSharp/Game Managers/CaseManagerListEntry.cs @@ -1,7 +1,6 @@  using UdonSharp; using UnityEngine; -using VRC.SDK3.Data; using VRC.SDKBase; public class CaseManagerListEntry : UdonSharpBehaviour diff --git a/Assets/UdonSharp/Game Managers/GameManagerRound2.cs b/Assets/UdonSharp/Game Managers/GameManagerRound2.cs index a67ac95..6c22454 100644 --- a/Assets/UdonSharp/Game Managers/GameManagerRound2.cs +++ b/Assets/UdonSharp/Game Managers/GameManagerRound2.cs @@ -5,6 +5,7 @@ using VRC.SDK3.Data; using VRC.SDK3.UdonNetworkCalling; using VRC.Udon.Common.Interfaces; using VRC.SDKBase; +using VRC.SDK3.Image; public enum PanelType @@ -31,8 +32,6 @@ public class GameManagerRound2 : GameManagerBase public override void InitialiseGameMode() { - PopulateLandmarkDataOnLocationBoard(); - base.InitialiseGameMode(); } @@ -214,6 +213,11 @@ public class GameManagerRound2 : GameManagerBase } + public VRCUrl GetLootImageURL() + { + return _CaseManager.GetLootImage(); + } + public Texture GetCrookPortrait() { return _CaseManager.GetAccusedCrookPortrait(); diff --git a/Assets/UdonSharp/Location Board/LocationBoard.asset b/Assets/UdonSharp/Location Board/LocationBoard.asset index 68c2f8d..fcf2d83 100644 --- a/Assets/UdonSharp/Location Board/LocationBoard.asset +++ b/Assets/UdonSharp/Location Board/LocationBoard.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 17 + Data: 18 - Name: Entry: 7 Data: @@ -782,10 +782,64 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _ActiveSpinners + Data: _LootImageDownloader - Name: $v Entry: 7 Data: 46|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _LootImageDownloader + - Name: k__BackingField + Entry: 7 + Data: 47|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: VRC.SDK3.Image.VRCImageDownloader, VRCSDK3 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 47 + - 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: 48|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: _ActiveSpinners + - Name: $v + Entry: 7 + Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _ActiveSpinners @@ -809,13 +863,13 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 50|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 48|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 51|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -839,13 +893,13 @@ MonoBehaviour: Data: _OrderIsCorrect - Name: $v Entry: 7 - Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 52|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _OrderIsCorrect - Name: k__BackingField Entry: 7 - Data: 50|System.RuntimeType, mscorlib + Data: 53|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Boolean[], mscorlib @@ -854,61 +908,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 50 - - 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: 51|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 52|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: _HasBeenCheckedBefore - - Name: $v - Entry: 7 - Data: 53|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _HasBeenCheckedBefore - - Name: k__BackingField - Entry: 9 - Data: 50 - - Name: k__BackingField - Entry: 9 - Data: 50 + Data: 53 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -950,25 +950,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _RandomMaterialSettings + Data: _HasBeenCheckedBefore - Name: $v Entry: 7 Data: 56|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _RandomMaterialSettings + Data: _HasBeenCheckedBefore - Name: k__BackingField - Entry: 7 - Data: 57|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: System.Int32[], mscorlib - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 53 - Name: k__BackingField Entry: 9 - Data: 57 + Data: 53 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -983,19 +977,79 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 57|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 58|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: _RandomMaterialSettings + - Name: $v + Entry: 7 + Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _RandomMaterialSettings + - Name: k__BackingField + Entry: 7 + Data: 60|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Int32[], mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 60 + - 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: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 59|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 62|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 60|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 63|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: diff --git a/Assets/UdonSharp/Location Board/LocationBoard.cs b/Assets/UdonSharp/Location Board/LocationBoard.cs index f6da85d..be2d77d 100644 --- a/Assets/UdonSharp/Location Board/LocationBoard.cs +++ b/Assets/UdonSharp/Location Board/LocationBoard.cs @@ -2,8 +2,10 @@ using TMPro; using UdonSharp; using UnityEngine; +using VRC.SDK3.Image; using VRC.SDK3.UdonNetworkCalling; using VRC.SDKBase; +using VRC.Udon.Common.Interfaces; [UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] @@ -26,6 +28,7 @@ public class LocationBoard : UdonSharpBehaviour [SerializeField] private Material[] _LocationSheetMaterialSelections; private Animator _Animator; + private VRCImageDownloader _LootImageDownloader; [UdonSynced] private int _ActiveSpinners = 0; [UdonSynced] private bool[] _OrderIsCorrect = new bool[3]; @@ -38,7 +41,10 @@ public class LocationBoard : UdonSharpBehaviour { _HasBeenCheckedBefore = new bool[LocationPanelsEmpty.Length]; + + _Animator = GetComponent(); + _LootImageDownloader = new VRCImageDownloader(); } [NetworkCallable] @@ -226,6 +232,20 @@ public class LocationBoard : UdonSharpBehaviour _HasBeenCheckedBefore[i] = false; } + MeshRenderer LootMesh; + if (LootMesh = LocationPanelsLoot[LootLocation - 1].GetComponent()) + { + TextureInfo AdditionalTextureInfo = new TextureInfo(); + AdditionalTextureInfo.WrapModeU = TextureWrapMode.Clamp; + AdditionalTextureInfo.WrapModeV = TextureWrapMode.Clamp; + AdditionalTextureInfo.GenerateMipMaps = true; + _LootImageDownloader.DownloadImage( + _GameManager.GetLootImageURL(), + LootMesh.sharedMaterial, + (IUdonEventReceiver)this, + AdditionalTextureInfo); + } + MeshRenderer CrookMesh; if (CrookMesh = LocationPanelsCrook[CrookLocation - 1].GetComponent()) { 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