Case files are now loaded via the case list, as originally intended.
This commit is contained in:
@@ -44,7 +44,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 7
|
||||
Data: 8
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
@@ -428,13 +428,13 @@ MonoBehaviour:
|
||||
Data: 28|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDK3.Data.DataDictionary, VRCSDK3
|
||||
Data: CaseManagerListEntry, Assembly-CSharp
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 28
|
||||
Data: 8
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -465,6 +465,60 @@ MonoBehaviour:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _CaseFileDictionary
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 30|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CaseFileDictionary
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 31|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDK3.Data.DataDictionary, VRCSDK3
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 31
|
||||
- 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: 32|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:
|
||||
|
||||
@@ -37,16 +37,16 @@ public class CaseManager : UdonSharpBehaviour
|
||||
|
||||
[SerializeField] private Texture[] CrookPortraits;
|
||||
|
||||
private DataDictionary _CaseFile;
|
||||
private CaseManagerListEntry _CaseFile;
|
||||
private DataDictionary _CaseFileDictionary;
|
||||
|
||||
|
||||
void Start()
|
||||
public void LoadCaseFile(CaseManagerListEntry CaseFile)
|
||||
{
|
||||
// Download our test question.
|
||||
VRCStringDownloader.LoadUrl(_QuestionURL, (IUdonEventReceiver)this);
|
||||
_CaseFile = CaseFile;
|
||||
VRCStringDownloader.LoadUrl(_CaseFile.CaseFileURL, (IUdonEventReceiver)this);
|
||||
}
|
||||
|
||||
|
||||
public override void OnStringLoadSuccess(IVRCStringDownload DownloadedString)
|
||||
{
|
||||
string ErrorString = "";
|
||||
@@ -55,14 +55,14 @@ public class CaseManager : UdonSharpBehaviour
|
||||
{
|
||||
if (JSONResult.TokenType == TokenType.DataDictionary)
|
||||
{
|
||||
_CaseFile = JSONResult.DataDictionary;
|
||||
_CaseFileDictionary = JSONResult.DataDictionary;
|
||||
|
||||
if (_CaseFile.ContainsKey("Round 1") && _CaseFile.ContainsKey("Round 2") && _CaseFile.ContainsKey("Round 3"))
|
||||
if (_CaseFileDictionary.ContainsKey("Round 1") && _CaseFileDictionary.ContainsKey("Round 2") && _CaseFileDictionary.ContainsKey("Round 3"))
|
||||
{
|
||||
// Attempt to load Round 1 data
|
||||
if (_CaseFile["Round 1"].TokenType == TokenType.DataList)
|
||||
if (_CaseFileDictionary["Round 1"].TokenType == TokenType.DataList)
|
||||
{
|
||||
_Round1Manager.LoadQuestionData(_CaseFile["Round 1"]);
|
||||
_Round1Manager.LoadQuestionData(_CaseFileDictionary["Round 1"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -70,9 +70,9 @@ public class CaseManager : UdonSharpBehaviour
|
||||
}
|
||||
|
||||
// Attempt to load Round 2 data
|
||||
if (_CaseFile["Round 2"].TokenType == TokenType.DataDictionary)
|
||||
if (_CaseFileDictionary["Round 2"].TokenType == TokenType.DataDictionary)
|
||||
{
|
||||
_Round2Manager.LoadQuestionData(_CaseFile["Round 2"]);
|
||||
_Round2Manager.LoadQuestionData(_CaseFileDictionary["Round 2"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -80,9 +80,9 @@ public class CaseManager : UdonSharpBehaviour
|
||||
}
|
||||
|
||||
// Attempt to load Round 3 data
|
||||
if (_CaseFile["Round 3"].TokenType == TokenType.DataDictionary)
|
||||
if (_CaseFileDictionary["Round 3"].TokenType == TokenType.DataDictionary)
|
||||
{
|
||||
_Round3Manager.LoadQuestionData(_CaseFile["Round 3"].DataDictionary);
|
||||
_Round3Manager.LoadQuestionData(_CaseFileDictionary["Round 3"].DataDictionary);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -135,15 +135,15 @@ public class CaseManager : UdonSharpBehaviour
|
||||
|
||||
public string GetCaseTitle()
|
||||
{
|
||||
return _CaseFile["Case Title"].ToString();
|
||||
return _CaseFileDictionary["Case Title"].ToString();
|
||||
}
|
||||
public string GetLoot()
|
||||
{
|
||||
return _CaseFile["Stolen Loot"].ToString();
|
||||
return _CaseFileDictionary["Stolen Loot"].ToString();
|
||||
}
|
||||
public AccusedCrook GetCrook()
|
||||
{
|
||||
return (AccusedCrook)_CaseFile["Accused Crook"].Number;
|
||||
return (AccusedCrook)_CaseFileDictionary["Accused Crook"].Number;
|
||||
}
|
||||
|
||||
|
||||
@@ -167,11 +167,11 @@ public class CaseManager : UdonSharpBehaviour
|
||||
|
||||
public string GetAccusedCrook()
|
||||
{
|
||||
return CrookToString((AccusedCrook)(int)_CaseFile["Accused Crook"].Number);
|
||||
return CrookToString((AccusedCrook)(int)_CaseFileDictionary["Accused Crook"].Number);
|
||||
}
|
||||
|
||||
public Texture GetAccusedCrookPortrait()
|
||||
{
|
||||
return CrookPortraits[(int)_CaseFile["Accused Crook"].Number];
|
||||
return CrookPortraits[(int)_CaseFileDictionary["Accused Crook"].Number];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,16 +50,82 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _CaseFileURL
|
||||
Data: _CaseManager
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CaseFileURL
|
||||
Data: _CaseManager
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 3|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: CaseManager, Assembly-CSharp
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 4|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.Udon.UdonBehaviour, VRC.Udon
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- 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: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 5|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 6|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: CaseFileURL
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 7|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: CaseFileURL
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 8|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDKBase.VRCUrl, VRCSDKBase
|
||||
@@ -68,7 +134,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 3
|
||||
Data: 8
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -83,16 +149,10 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 9|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 5|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
@@ -110,79 +170,25 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _CaseNameText
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CaseNameText
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 7|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 7
|
||||
- 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: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 8|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 9|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: _CrookNameText
|
||||
Data: MapFiles
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 10|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CrookNameText
|
||||
Data: MapFiles
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 7
|
||||
Entry: 7
|
||||
Data: 11|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDKBase.VRCUrl[], VRCSDKBase
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 7
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -197,16 +203,10 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 11|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 12|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 12|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
@@ -224,19 +224,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _StolenLootText
|
||||
Data: VideoFiles
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 13|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _StolenLootText
|
||||
Data: VideoFiles
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 7
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 7
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -254,13 +254,7 @@ MonoBehaviour:
|
||||
Data: 14|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 15|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
@@ -281,13 +275,13 @@ MonoBehaviour:
|
||||
Data: _DeserialisedData
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _DeserialisedData
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 17|System.RuntimeType, mscorlib
|
||||
Data: 16|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDK3.Data.DataDictionary, VRCSDK3
|
||||
@@ -296,7 +290,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 17
|
||||
Data: 16
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -311,7 +305,7 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 18|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
|
||||
@@ -1,61 +1,23 @@
|
||||
|
||||
using TMPro;
|
||||
using UdonSharp;
|
||||
using UnityEngine;
|
||||
using VRC.SDK3.Data;
|
||||
using VRC.SDK3.Image;
|
||||
using VRC.SDK3.StringLoading;
|
||||
using VRC.SDKBase;
|
||||
using VRC.Udon;
|
||||
using VRC.Udon.Common.Interfaces;
|
||||
|
||||
public class CaseManagerListEntry : UdonSharpBehaviour
|
||||
{
|
||||
[SerializeField] private VRCUrl _CaseFileURL;
|
||||
[SerializeField] private CaseManager _CaseManager;
|
||||
|
||||
[SerializeField] private TextMeshProUGUI _CaseNameText;
|
||||
[SerializeField] private TextMeshProUGUI _CrookNameText;
|
||||
[SerializeField] private TextMeshProUGUI _StolenLootText;
|
||||
public VRCUrl CaseFileURL;
|
||||
|
||||
public VRCUrl[] MapFiles;
|
||||
public VRCUrl[] VideoFiles;
|
||||
|
||||
private DataDictionary _DeserialisedData;
|
||||
|
||||
|
||||
private void Start()
|
||||
public void LoadCaseFile()
|
||||
{
|
||||
//VRCStringDownloader.LoadUrl(_CaseFileURL, (IUdonEventReceiver)this);
|
||||
}
|
||||
|
||||
public override void OnStringLoadSuccess(IVRCStringDownload DownloadedString)
|
||||
{
|
||||
string ErrorString = "";
|
||||
string JSONString = DownloadedString.Result;
|
||||
if (VRCJson.TryDeserializeFromJson(JSONString, out DataToken JSONResult))
|
||||
{
|
||||
if (JSONResult.TokenType == TokenType.DataDictionary)
|
||||
{
|
||||
_DeserialisedData = JSONResult.DataDictionary;
|
||||
if (_DeserialisedData.ContainsKey("Case Title") &&
|
||||
_DeserialisedData.ContainsKey("Accused Crook") &&
|
||||
_DeserialisedData.ContainsKey("Stolen Loot"))
|
||||
{
|
||||
_CaseNameText.text = _DeserialisedData["Case Title"].ToString();
|
||||
_CrookNameText.text = _DeserialisedData["Accused Crook"].ToString();
|
||||
_StolenLootText.text = _DeserialisedData["Stolen Loot"].ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
ErrorString = "Metadata is missing.";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ErrorString = "Ensure the first element is a dictionary";
|
||||
}
|
||||
}
|
||||
|
||||
if (ErrorString != "")
|
||||
{
|
||||
Debug.LogError("Malformed case file: " + _CaseFileURL.Get() + ". " + ErrorString);
|
||||
}
|
||||
_CaseManager.LoadCaseFile(this);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user