- Loot image is now downloaded with the case file and applied to Round 2.

- Added a missing string converter entry for Top Grunge.
This commit is contained in:
2025-06-30 23:29:21 -04:00
parent e557398084
commit 34dc13c8f6
9 changed files with 251 additions and 113 deletions
@@ -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: <Name>k__BackingField
Entry: 1
Data: _CaseFileMaps
Data: _CaseFileLootImage
- Name: <UserType>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: <SystemType>k__BackingField
Entry: 9
Data: 30
Data: 3
- Name: <SyncMode>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: <Name>k__BackingField
Entry: 1
Data: _CaseFileVideos
Data: _CaseFileMaps
- Name: <UserType>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: <SystemType>k__BackingField
Entry: 9
Data: 30
Data: 32
- Name: <SyncMode>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: <Name>k__BackingField
Entry: 1
Data: _CaseFileDictionary
Data: _CaseFileVideos
- Name: <UserType>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: <SystemType>k__BackingField
Entry: 9
Data: 35
Data: 32
- Name: <SyncMode>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: <Name>k__BackingField
Entry: 1
Data: _CaseFileDictionary
- Name: <UserType>k__BackingField
Entry: 7
Data: 37|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDK3.Data.DataDictionary, VRCSDK3
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 37
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>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
@@ -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";
}
@@ -1,7 +1,6 @@
using UdonSharp;
using UnityEngine;
using VRC.SDK3.Data;
using VRC.SDKBase;
public class CaseManagerListEntry : UdonSharpBehaviour
@@ -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();
@@ -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: <Name>k__BackingField
Entry: 1
Data: _LootImageDownloader
- Name: <UserType>k__BackingField
Entry: 7
Data: 47|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDK3.Image.VRCImageDownloader, VRCSDK3
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 47
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>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: <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: <Name>k__BackingField
Entry: 1
Data: _OrderIsCorrect
- Name: <UserType>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: <SystemType>k__BackingField
Entry: 9
Data: 50
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>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: <Name>k__BackingField
Entry: 1
Data: _HasBeenCheckedBefore
- Name: <UserType>k__BackingField
Entry: 9
Data: 50
- Name: <SystemType>k__BackingField
Entry: 9
Data: 50
Data: 53
- Name: <SyncMode>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: <Name>k__BackingField
Entry: 1
Data: _RandomMaterialSettings
Data: _HasBeenCheckedBefore
- Name: <UserType>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: <SystemType>k__BackingField
Entry: 9
Data: 57
Data: 53
- Name: <SyncMode>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: <Name>k__BackingField
Entry: 1
Data: _RandomMaterialSettings
- Name: <UserType>k__BackingField
Entry: 7
Data: 60|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32[], mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 60
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>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:
@@ -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<Animator>();
_LootImageDownloader = new VRCImageDownloader();
}
[NetworkCallable]
@@ -226,6 +232,20 @@ public class LocationBoard : UdonSharpBehaviour
_HasBeenCheckedBefore[i] = false;
}
MeshRenderer LootMesh;
if (LootMesh = LocationPanelsLoot[LootLocation - 1].GetComponent<MeshRenderer>())
{
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<MeshRenderer>())
{