- Added a pedestal to round 1 podiums to keep player eye heights more equal.

- Fixed an issue that seems to cause loading case files to crash.
This commit is contained in:
2025-08-30 23:42:45 -04:00
parent d9f6ba0ec5
commit 8bc733459e
16 changed files with 750 additions and 144 deletions
@@ -217,7 +217,7 @@ public class CaseManager : UdonSharpBehaviour
public string ContinueToRound2()
{
_Round3Manager.DeinitialiseGameMode();
_Round2Manager.InitialiseGameMode();
_Round2Manager.DeinitialiseGameMode();
_Round1Manager.DeinitialiseGameMode();
_HostCard.SetGameManager(_Round2Manager);
@@ -96,7 +96,6 @@ public class GameManagerBase : UdonSharpBehaviour
{
_AllowInteractionFromHostCard = true;
SetOwnershipOfObjects(_CaseManager.GetHostOwner());
EnableMicrophone(true);
}
@@ -0,0 +1,53 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: PlayerPedestal
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: cf0528a56d98f904196dc5fd6ff9a6d0,
type: 2}
udonAssembly:
assemblyError:
sourceCsScript: {fileID: 11500000, guid: 0488c1879dee4d34cb20df436d804afe, type: 3}
scriptVersion: 2
compiledVersion: 2
behaviourSyncMode: 4
hasInteractEvent: 0
scriptID: -7966647205400568113
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes:
- Name: fieldDefinitions
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[UdonSharp.Compiler.FieldDefinition,
UdonSharp.Editor]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
mscorlib]], mscorlib
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c349502dacabed447b393fb564c5c6e5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+12
View File
@@ -0,0 +1,12 @@
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class PlayerPedestal : UdonSharpBehaviour
{
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0488c1879dee4d34cb20df436d804afe
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+155 -101
View File
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 18
Data: 19
- Name:
Entry: 7
Data:
@@ -734,25 +734,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _AuxiliaryVideoScreen
Data: _Pedestal
- Name: $v
Entry: 7
Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AuxiliaryVideoScreen
Data: _Pedestal
- Name: <UserType>k__BackingField
Entry: 7
Data: 50|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Transform, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
Entry: 9
Data: 11
- Name: <SystemType>k__BackingField
Entry: 9
Data: 50
Data: 11
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -767,13 +761,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 51|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: 52|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 51|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -794,19 +788,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _AuxiliaryMapScreen
Data: _AuxiliaryVideoScreen
- Name: $v
Entry: 7
Data: 53|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 52|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AuxiliaryMapScreen
Data: _AuxiliaryVideoScreen
- Name: <UserType>k__BackingField
Entry: 9
Data: 50
Entry: 7
Data: 53|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Transform, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- 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
@@ -848,16 +848,70 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _OwnershipInteract
Data: _AuxiliaryMapScreen
- Name: $v
Entry: 7
Data: 56|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AuxiliaryMapScreen
- Name: <UserType>k__BackingField
Entry: 9
Data: 53
- Name: <SystemType>k__BackingField
Entry: 9
Data: 53
- 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: 57|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 58|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: _OwnershipInteract
- Name: $v
Entry: 7
Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _OwnershipInteract
- Name: <UserType>k__BackingField
Entry: 7
Data: 57|System.RuntimeType, mscorlib
Data: 60|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CustomEventInteraction, Assembly-CSharp
@@ -881,13 +935,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 59|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 62|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -911,7 +965,7 @@ MonoBehaviour:
Data: _BuzzedInEffect
- Name: $v
Entry: 7
Data: 60|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _BuzzedInEffect
@@ -935,13 +989,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 64|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 62|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 65|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@@ -950,67 +1004,13 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 63|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
Data: 66|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
- Name: header
Entry: 1
Data: Effects
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 64|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: _ScorecardObject
- Name: $v
Entry: 7
Data: 65|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ScorecardObject
- Name: <UserType>k__BackingField
Entry: 9
Data: 11
- Name: <SystemType>k__BackingField
Entry: 9
Data: 11
- 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: 66|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 67|UnityEngine.SerializeField, UnityEngine.CoreModule
@@ -1034,25 +1034,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _NameplateUI
Data: _ScorecardObject
- Name: $v
Entry: 7
Data: 68|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _NameplateUI
Data: _ScorecardObject
- Name: <UserType>k__BackingField
Entry: 7
Data: 69|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro
- Name:
Entry: 8
Data:
Entry: 9
Data: 11
- Name: <SystemType>k__BackingField
Entry: 9
Data: 69
Data: 11
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1067,13 +1061,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 70|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 69|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 71|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 70|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -1094,19 +1088,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ScorecardUI
Data: _NameplateUI
- Name: $v
Entry: 7
Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 71|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ScorecardUI
Data: _NameplateUI
- Name: <UserType>k__BackingField
Entry: 9
Data: 69
Entry: 7
Data: 72|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 69
Data: 72
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1143,6 +1143,60 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _ScorecardUI
- Name: $v
Entry: 7
Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ScorecardUI
- Name: <UserType>k__BackingField
Entry: 9
Data: 72
- Name: <SystemType>k__BackingField
Entry: 9
Data: 72
- 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: 76|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 77|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: 13
Data:
+24
View File
@@ -29,6 +29,7 @@ public class PlayerPodium : UdonSharpBehaviour
[SerializeField] private ChoiceCardGroup _ChoiceCards;
[SerializeField] private RiskCardGroup _RiskCards;
[SerializeField] private Buzzer _Buzzer;
[SerializeField] private GameObject _Pedestal;
[SerializeField] private Transform _AuxiliaryVideoScreen;
[SerializeField] private Transform _AuxiliaryMapScreen;
@@ -61,6 +62,16 @@ public class PlayerPodium : UdonSharpBehaviour
base.OnPlayerLeft(Player);
}
public override void OnAvatarEyeHeightChanged(VRCPlayerApi Player, float PrevEyeHeightAsMeters)
{
if (Player.playerId == _PlayerID)
{
AdjustPedestalHeight(Player);
}
base.OnAvatarEyeHeightChanged(Player, PrevEyeHeightAsMeters);
}
public void SetPlayerName()
{
@@ -77,6 +88,9 @@ public class PlayerPodium : UdonSharpBehaviour
PlayerName = Networking.LocalPlayer.displayName;
_PlayerID = Networking.LocalPlayer.playerId;
_Pedestal.SetActive(true);
AdjustPedestalHeight(Networking.LocalPlayer);
EnableOwnershipTransfer = false;
RequestSerialization();
@@ -89,12 +103,22 @@ public class PlayerPodium : UdonSharpBehaviour
_PlayerID = -1;
EnableOwnershipTransfer = true;
_Pedestal.SetActive(false);
RequestSerialization();
}
public int GetPlayerID() { return _PlayerID; }
private void AdjustPedestalHeight(VRCPlayerApi Player)
{
_Pedestal.transform.localPosition = new Vector3(
_Pedestal.transform.localPosition.x,
-Player.GetAvatarEyeHeightAsMeters(),
_Pedestal.transform.localPosition.z
);
}
[NetworkCallable]
public void DisplayScore()
{