- Permissions panel is fully functional.

- Host card can only be picked up by players with "Host" permission.
- Podiums no longer reset on case load.
- Auxiliary screens now disappear during answer reveal in final round.
- Risk card placement area no longer blocks UI interaction on desktop mode.
- Video player in round 2 now changes ownership and syncs correctly.
This commit is contained in:
Jamie Greunbaum 2025-09-07 18:56:59 -04:00
parent 168d814ad9
commit b028a0a6d4
11 changed files with 212 additions and 55 deletions

View File

@ -48,7 +48,7 @@ Material:
- _MainTex: - _MainTex:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 0.5, y: 0.33333334} m_Scale: {x: 0.5, y: 0.33333334}
m_Offset: {x: 0, y: 0.6666667} m_Offset: {x: 0.5, y: 0.33333334}
- _MetallicGlossMap: - _MetallicGlossMap:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}

View File

@ -252,7 +252,7 @@ BoxCollider:
m_ProvidesContacts: 0 m_ProvidesContacts: 0
m_Enabled: 1 m_Enabled: 1
serializedVersion: 3 serializedVersion: 3
m_Size: {x: 0.5, y: 0.002, z: 0.1} m_Size: {x: 0.5, y: 0.005, z: 0.1}
m_Center: {x: 0, y: 0, z: 0} m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &7847633811780037068 --- !u!114 &7847633811780037068
MonoBehaviour: MonoBehaviour:

View File

@ -1243,7 +1243,7 @@ GameObject:
- component: {fileID: 2039829568681020909} - component: {fileID: 2039829568681020909}
- component: {fileID: 6501792587173908481} - component: {fileID: 6501792587173908481}
- component: {fileID: 8906657908162858697} - component: {fileID: 8906657908162858697}
m_Layer: 0 m_Layer: 18
m_Name: Risk Card Holder m_Name: Risk Card Holder
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}

View File

@ -1017,7 +1017,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &51189180 --- !u!4 &51189180
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1485,7 +1485,7 @@ PrefabInstance:
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
propertyPath: sleepFlag propertyPath: sleepFlag
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
@ -13917,7 +13917,7 @@ PrefabInstance:
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
propertyPath: sleepFlag propertyPath: sleepFlag
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
@ -15473,7 +15473,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
MomentumTransferMethod: 0 MomentumTransferMethod: 0
DisallowTheft: 1 DisallowTheft: 0
ExactGun: {fileID: 0} ExactGun: {fileID: 0}
ExactGrip: {fileID: 0} ExactGrip: {fileID: 0}
allowManipulationWhenEquipped: 0 allowManipulationWhenEquipped: 0
@ -15615,7 +15615,7 @@ MonoBehaviour:
lateLooper: {fileID: 736410914} lateLooper: {fileID: 736410914}
rigid: {fileID: 379391075} rigid: {fileID: 379391075}
pickup: {fileID: 379391073} pickup: {fileID: 379391073}
respawnHeight: -10 respawnHeight: -1.5
smoothingTime: -0.25 smoothingTime: -0.25
allowTheftFromSelf: 1 allowTheftFromSelf: 1
allowTheftWhenAttachedToPlayer: 1 allowTheftWhenAttachedToPlayer: 1
@ -17493,7 +17493,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &431721601 --- !u!4 &431721601
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -19461,7 +19461,7 @@ PrefabInstance:
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
propertyPath: sleepFlag propertyPath: sleepFlag
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
@ -25210,16 +25210,16 @@ GameObject:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1559839983} m_PrefabInstance: {fileID: 1559839983}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!114 &674142362 stripped --- !u!114 &674142364 stripped
MonoBehaviour: MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 4677278074043053975, guid: 700c7675bc7fcf547a888725c3536e38, m_CorrespondingSourceObject: {fileID: 5423613212279373759, guid: 700c7675bc7fcf547a888725c3536e38,
type: 3} type: 3}
m_PrefabInstance: {fileID: 1559839983} m_PrefabInstance: {fileID: 1559839983}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 674142360} m_GameObject: {fileID: 674142360}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a14cb14e50950304eab77b70f4649c38, type: 3} m_Script: {fileID: 11500000, guid: 45115577ef41a5b4ca741ed302693907, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
--- !u!1 &678242348 stripped --- !u!1 &678242348 stripped
@ -27658,7 +27658,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &772205214 --- !u!4 &772205214
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -29325,7 +29325,7 @@ PrefabInstance:
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
propertyPath: sleepFlag propertyPath: sleepFlag
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
@ -29717,7 +29717,11 @@ MonoBehaviour:
_udonSharpBackingUdonBehaviour: {fileID: 824788961} _udonSharpBackingUdonBehaviour: {fileID: 824788961}
_ListContainer: {fileID: 183058224} _ListContainer: {fileID: 183058224}
_PlayerItemTemplate: {fileID: 3611530376002209998} _PlayerItemTemplate: {fileID: 3611530376002209998}
CameraConsole: {fileID: 674142362} _AdminEventListeners: []
_HostEventListeners:
- {fileID: 841163053}
_CameraEventListeners:
- {fileID: 674142364}
--- !u!65 &824788963 --- !u!65 &824788963
BoxCollider: BoxCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -30843,7 +30847,7 @@ PrefabInstance:
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
propertyPath: sleepFlag propertyPath: sleepFlag
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
@ -42057,7 +42061,7 @@ PrefabInstance:
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
propertyPath: sleepFlag propertyPath: sleepFlag
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244, - target: {fileID: 8896942705519841538, guid: fac4aa7abd3ecbe44a9eaf7f05275244,
type: 3} type: 3}
@ -79590,30 +79594,30 @@ MonoBehaviour:
DynamicPrefabs: [] DynamicPrefabs: []
DynamicMaterials: DynamicMaterials:
- {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2} - {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2}
- {fileID: 2100000, guid: dba163de40c568b48ae2ffa7c83c66b9, type: 2} - {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2}
- {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2}
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2}
- {fileID: 2100000, guid: af0c1cbaaffed304ba0e3a1fbac41e7e, type: 2} - {fileID: 2100000, guid: af0c1cbaaffed304ba0e3a1fbac41e7e, type: 2}
- {fileID: 2100000, guid: cc22c7f9de95cab4488b30fe8699a82a, type: 2} - {fileID: 2100000, guid: cc22c7f9de95cab4488b30fe8699a82a, type: 2}
- {fileID: 2100000, guid: fe872fb72ad98da4dbb868481468e848, type: 2} - {fileID: 2100000, guid: fe872fb72ad98da4dbb868481468e848, type: 2}
- {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2} - {fileID: 2100000, guid: c10453b4aa0c864458b74f3797cb611e, type: 2}
- {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2} - {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2}
- {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2} - {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2}
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2} - {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2}
- {fileID: 2100000, guid: 71fff76911e92ab43a71d15602da4c4b, type: 2} - {fileID: 2100000, guid: 71fff76911e92ab43a71d15602da4c4b, type: 2}
- {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2} - {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2}
- {fileID: 2100000, guid: 20b7b61cb65ead644a4959264fc90833, type: 2} - {fileID: 2100000, guid: 20b7b61cb65ead644a4959264fc90833, type: 2}
- {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2}
- {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2}
- {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2}
- {fileID: 2100000, guid: 4c14b2f4b9a613f418bb1e6cf8cf68f4, type: 2} - {fileID: 2100000, guid: 4c14b2f4b9a613f418bb1e6cf8cf68f4, type: 2}
- {fileID: 2100000, guid: cf2685410a4f72447a34ea1791a70a1c, type: 2} - {fileID: 2100000, guid: cf2685410a4f72447a34ea1791a70a1c, type: 2}
- {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2} - {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2}
- {fileID: 2100000, guid: 6dd6b8b1c8133f04dbc23ac81f5dfded, type: 2} - {fileID: 2100000, guid: 6dd6b8b1c8133f04dbc23ac81f5dfded, type: 2}
- {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2}
- {fileID: 2100000, guid: ea08301eace4f164bb3aae930413a978, type: 2} - {fileID: 2100000, guid: ea08301eace4f164bb3aae930413a978, type: 2}
- {fileID: 2100000, guid: 97a375a2664a65f44a74b8e0711591fb, type: 2} - {fileID: 2100000, guid: 97a375a2664a65f44a74b8e0711591fb, type: 2}
- {fileID: 2100000, guid: dba163de40c568b48ae2ffa7c83c66b9, type: 2}
- {fileID: 2100000, guid: a793cd1d5fe89c440900d816c7b8c323, type: 2} - {fileID: 2100000, guid: a793cd1d5fe89c440900d816c7b8c323, type: 2}
- {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2} - {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2}
- {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2}
- {fileID: 2100000, guid: 98166ed003d332e488319f662c3b4429, type: 2} - {fileID: 2100000, guid: 98166ed003d332e488319f662c3b4429, type: 2}
- {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2} - {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2}
- {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2} - {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2}
@ -79621,7 +79625,7 @@ MonoBehaviour:
- {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2} - {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2}
- {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2}
- {fileID: 2100000, guid: 80746b095abb6ce41a1c737df3649172, type: 2} - {fileID: 2100000, guid: 80746b095abb6ce41a1c737df3649172, type: 2}
- {fileID: 2100000, guid: c10453b4aa0c864458b74f3797cb611e, type: 2} - {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2}
- {fileID: 2100000, guid: cf9efbb6277ea2d4aa7d30bc9073915e, type: 2} - {fileID: 2100000, guid: cf9efbb6277ea2d4aa7d30bc9073915e, type: 2}
LightMapsNear: [] LightMapsNear: []
LightMapsFar: [] LightMapsFar: []

View File

@ -91,6 +91,19 @@ public class CaseManager : UdonSharpBehaviour
} }
public void HostEnabled()
{
_CaseManagerList.gameObject.SetActive(true);
_HostCard.EnablePickup(true);
}
public void HostDisabled()
{
_CaseManagerList.gameObject.SetActive(false);
_HostCard.EnablePickup(false);
}
public void LoadCaseFile(CaseManagerListEntry CaseFile) public void LoadCaseFile(CaseManagerListEntry CaseFile)
{ {
Networking.SetOwner(Networking.LocalPlayer, gameObject); Networking.SetOwner(Networking.LocalPlayer, gameObject);
@ -208,11 +221,7 @@ public class CaseManager : UdonSharpBehaviour
public string ContinueToRound1() public string ContinueToRound1()
{ {
_Round3Manager.DeinitialiseGameMode(); _Round3Manager.DeinitialiseGameMode();
_Round2Manager.DeinitialiseGameMode();
_Round1Manager.DeinitialiseGameMode();
_HostCard.SetGameManager(_Round1Manager); _HostCard.SetGameManager(_Round1Manager);
_Round1Manager.InitialiseGameMode(); _Round1Manager.InitialiseGameMode();
return ""; return "";
@ -220,12 +229,8 @@ public class CaseManager : UdonSharpBehaviour
public string ContinueToRound2() public string ContinueToRound2()
{ {
_Round3Manager.DeinitialiseGameMode();
_Round2Manager.DeinitialiseGameMode();
_Round1Manager.DeinitialiseGameMode(); _Round1Manager.DeinitialiseGameMode();
_HostCard.SetGameManager(_Round2Manager); _HostCard.SetGameManager(_Round2Manager);
_Round2Manager.InitialiseGameMode(); _Round2Manager.InitialiseGameMode();
return ""; return "";
@ -233,12 +238,8 @@ public class CaseManager : UdonSharpBehaviour
public string ContinueToRound3() public string ContinueToRound3()
{ {
_Round3Manager.DeinitialiseGameMode();
_Round2Manager.DeinitialiseGameMode(); _Round2Manager.DeinitialiseGameMode();
_Round1Manager.DeinitialiseGameMode();
_HostCard.SetGameManager(_Round3Manager); _HostCard.SetGameManager(_Round3Manager);
_Round3Manager.InitialiseGameMode(); _Round3Manager.InitialiseGameMode();
return ""; return "";

View File

@ -960,6 +960,7 @@ public class GameManagerRound1 : GameManagerBase
for (int i = 0; i < _PlayerPodiums.Length; i++) for (int i = 0; i < _PlayerPodiums.Length; i++)
{ {
_PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.All, "LockInChoice"); _PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.All, "LockInChoice");
_PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.Owner, "ShowAuxiliaryMapScreen", false);
} }
HostCardMultipleChoiceInterface Interface = HostCardMultipleChoiceInterface Interface =

View File

@ -85,6 +85,7 @@ public class GameManagerRound2 : GameManagerBase
Networking.SetOwner(NewOwner, _ArrivalDisplay.gameObject); Networking.SetOwner(NewOwner, _ArrivalDisplay.gameObject);
Networking.SetOwner(NewOwner, _LocationBoard.gameObject); Networking.SetOwner(NewOwner, _LocationBoard.gameObject);
Networking.SetOwner(NewOwner, _JailChain.gameObject); Networking.SetOwner(NewOwner, _JailChain.gameObject);
Networking.SetOwner(NewOwner, _JailPlayer.gameObject);
Networking.SetOwner(NewOwner, _JailPhone.gameObject); Networking.SetOwner(NewOwner, _JailPhone.gameObject);
base.SetOwnershipOfObjects(NewOwner); base.SetOwnershipOfObjects(NewOwner);

View File

@ -49,8 +49,6 @@ public class HostCardManager : UdonSharpBehaviour
void Start() void Start()
{ {
_PickupComponent = GetComponent<VRCPickup>(); _PickupComponent = GetComponent<VRCPickup>();
ResetPickupable();
} }
@ -94,9 +92,9 @@ public class HostCardManager : UdonSharpBehaviour
} }
public void ResetPickupable() public void EnablePickup(bool Enable)
{ {
_PickupComponent.pickupable = (Networking.GetOwner(gameObject) == Networking.LocalPlayer); _PickupComponent.pickupable = Enable;
} }

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data: Data:
- Name: - Name:
Entry: 12 Entry: 12
Data: 8 Data: 10
- Name: - Name:
Entry: 7 Entry: 7
Data: Data:
@ -458,19 +458,19 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 1 Entry: 1
Data: CameraConsole Data: _AdminEventListeners
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 28|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 28|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: CameraConsole Data: _AdminEventListeners
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 29|System.RuntimeType, mscorlib Data: 29|System.RuntimeType, mscorlib
- Name: - Name:
Entry: 1 Entry: 1
Data: CameraSystem.CameraSystem_Console, Assembly-CSharp Data: VRC.Udon.UdonBehaviour[], VRC.Udon
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -479,7 +479,7 @@ MonoBehaviour:
Data: 30|System.RuntimeType, mscorlib Data: 30|System.RuntimeType, mscorlib
- Name: - Name:
Entry: 1 Entry: 1
Data: VRC.Udon.UdonBehaviour, VRC.Udon Data: UnityEngine.Component[], UnityEngine.CoreModule
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -498,12 +498,129 @@ MonoBehaviour:
- Name: _fieldAttributes - Name: _fieldAttributes
Entry: 7 Entry: 7
Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 32|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 33|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: _HostEventListeners
- Name: $v
Entry: 7
Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _HostEventListeners
- Name: <UserType>k__BackingField
Entry: 9
Data: 29
- Name: <SystemType>k__BackingField
Entry: 9
Data: 30
- 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: 35|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name: - Name:
Entry: 12 Entry: 12
Data: 1 Data: 1
- Name: - Name:
Entry: 7 Entry: 7
Data: 32|UnityEngine.SerializeField, UnityEngine.CoreModule Data: 36|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: _CameraEventListeners
- Name: $v
Entry: 7
Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CameraEventListeners
- Name: <UserType>k__BackingField
Entry: 9
Data: 29
- Name: <SystemType>k__BackingField
Entry: 9
Data: 30
- 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: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 39|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:

View File

@ -4,6 +4,7 @@ using UdonSharp;
using UnityEngine; using UnityEngine;
using VRC.SDK3.Data; using VRC.SDK3.Data;
using VRC.SDKBase; using VRC.SDKBase;
using VRC.Udon;
using VRC.Udon.Common; using VRC.Udon.Common;
@ -19,7 +20,11 @@ public class PermissionsPanel : UdonSharpBehaviour
[SerializeField] private RectTransform _ListContainer; [SerializeField] private RectTransform _ListContainer;
[SerializeField] private GameObject _PlayerItemTemplate; [SerializeField] private GameObject _PlayerItemTemplate;
[SerializeField] private CameraSystem_Console CameraConsole; [Space]
[SerializeField] private UdonBehaviour[] _AdminEventListeners = new UdonBehaviour[0];
[SerializeField] private UdonBehaviour[] _HostEventListeners = new UdonBehaviour[0];
[SerializeField] private UdonBehaviour[] _CameraEventListeners = new UdonBehaviour[0];
private const int MAX_PLAYERS_IN_LIST = 100; private const int MAX_PLAYERS_IN_LIST = 100;
@ -231,6 +236,18 @@ public class PermissionsPanel : UdonSharpBehaviour
PlayerListItem.HostToggle.interactable = true; PlayerListItem.HostToggle.interactable = true;
PlayerListItem.CameraToggle.interactable = true; PlayerListItem.CameraToggle.interactable = true;
} }
for (int i = 0; i < _AdminEventListeners.Length; i++)
{
_AdminEventListeners[i].SendCustomEvent("AdminEnabled");
}
}
else
{
for (int i = 0; i < _AdminEventListeners.Length; i++)
{
_AdminEventListeners[i].SendCustomEvent("AdminDisabled");
}
} }
if (IsPlayerHost(Networking.LocalPlayer)) if (IsPlayerHost(Networking.LocalPlayer))
@ -240,6 +257,18 @@ public class PermissionsPanel : UdonSharpBehaviour
PermissionsPanelPlayerEntry PlayerListItem = _ListContainer.GetChild(i).GetComponent<PermissionsPanelPlayerEntry>(); PermissionsPanelPlayerEntry PlayerListItem = _ListContainer.GetChild(i).GetComponent<PermissionsPanelPlayerEntry>();
PlayerListItem.HostToggle.interactable = true; PlayerListItem.HostToggle.interactable = true;
} }
for (int i = 0; i < _HostEventListeners.Length; i++)
{
_HostEventListeners[i].SendCustomEvent("HostEnabled");
}
}
else
{
for (int i = 0; i < _HostEventListeners.Length; i++)
{
_HostEventListeners[i].SendCustomEvent("HostDisabled");
}
} }
if (IsPlayerCameraOperator(Networking.LocalPlayer)) if (IsPlayerCameraOperator(Networking.LocalPlayer))
@ -250,11 +279,17 @@ public class PermissionsPanel : UdonSharpBehaviour
PlayerListItem.CameraToggle.interactable = true; PlayerListItem.CameraToggle.interactable = true;
} }
CameraConsole.Authorize(); for (int i = 0; i < _CameraEventListeners.Length; i++)
{
_CameraEventListeners[i].SendCustomEvent("CameraEnabled");
}
} }
else else
{ {
CameraConsole.Deauthorize(); for (int i = 0; i < _CameraEventListeners.Length; i++)
{
_CameraEventListeners[i].SendCustomEvent("CameraDisabled");
}
} }
} }
} }

@ -1 +1 @@
Subproject commit 44c331eb27ed8135280479e24ddf2f035e352b07 Subproject commit 96ab3010753776b0a70841f99033b82168c117b0