diff --git a/Assets/Prefabs/Player Podium.prefab b/Assets/Prefabs/Player Podium.prefab index 58446f4..727f8e5 100644 --- a/Assets/Prefabs/Player Podium.prefab +++ b/Assets/Prefabs/Player Podium.prefab @@ -901,9 +901,6 @@ GameObject: - component: {fileID: 7566631391838123814} - component: {fileID: 415553858303482294} - component: {fileID: 3808374455794859097} - - component: {fileID: 8534878074050672754} - - component: {fileID: 1851584972264354275} - - component: {fileID: 2783200975854623427} m_Layer: 0 m_Name: Player Score m_TagString: Untagged @@ -977,92 +974,6 @@ MonoBehaviour: m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 m_PresetInfoIsWorld: 1 ---- !u!114 &8534878074050672754 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5278643753074928947} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1851584972264354275 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5278643753074928947} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1533785930, guid: 661092b4961be7145bfbe56e1e62337b, type: 3} - m_Name: - m_EditorClassIdentifier: - AllowFocusView: 1 ---- !u!114 &2783200975854623427 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5278643753074928947} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 0} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 2656281140157091124} - m_TargetAssemblyTypeName: - m_MethodName: SendCustomEvent - m_Mode: 5 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: SetPlayerName - m_BoolArgument: 0 - m_CallState: 2 --- !u!1 &5471866996204686013 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/witwics.unity b/Assets/Scenes/witwics.unity index db21590..037cf0f 100644 --- a/Assets/Scenes/witwics.unity +++ b/Assets/Scenes/witwics.unity @@ -2407,7 +2407,7 @@ BoxCollider: m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 3 - m_Size: {x: 0.27337545, y: 0.16053903, z: 0.00031471252} + m_Size: {x: 0.2725, y: 0.16, z: 0.0001} m_Center: {x: 0, y: 0, z: 0} --- !u!114 &379391078 MonoBehaviour: @@ -10538,25 +10538,25 @@ MonoBehaviour: useAssignedLayers: 0 DynamicPrefabs: [] DynamicMaterials: - - {fileID: 2100000, guid: a793cd1d5fe89c440900d816c7b8c323, type: 2} - - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} - - {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2} - - {fileID: 2100000, guid: faae26a849699fc4b804b74882a344df, type: 2} - - {fileID: 2100000, guid: bd8b723337ae5824fa61f693f76e943f, type: 2} - - {fileID: 2100000, guid: 7eb7cd9bfc12d4c4198d1874ca5a1aa4, type: 2} - {fileID: 2100000, guid: 79cb8dae66bc60241b5964b24ff1ac7e, type: 2} - - {fileID: 2100000, guid: c4382cc6d54262b46913ae6fe8a3740e, type: 2} - - {fileID: 2100000, guid: 82bace4c334919c4f92e87905c39fdf8, type: 2} - - {fileID: 2100000, guid: d811246c848733b4c8310b4dec5a5fdf, type: 2} - - {fileID: 2100000, guid: f025bfafc9ecec74aa3aab468ef837d7, type: 2} - - {fileID: 2100000, guid: 50e427994e5b0224f966b200c577b78b, type: 2} - {fileID: 2100000, guid: 5a56ded101f363e46861c8fe1c4f360e, type: 2} + - {fileID: 2100000, guid: 49170bf20870c7c45873b3c1966d86af, type: 2} - {fileID: 2100000, guid: 95dd396b63c6ad4429ad37eedc63f20c, type: 2} - {fileID: 2100000, guid: 74aa3dbc50df9464e8d9d11815b389a7, type: 2} - - {fileID: 2100000, guid: 220d5a1f1701e674794a1083cc2f0bac, type: 2} - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 2100000, guid: 50e427994e5b0224f966b200c577b78b, type: 2} + - {fileID: 2100000, guid: f025bfafc9ecec74aa3aab468ef837d7, type: 2} + - {fileID: 2100000, guid: d811246c848733b4c8310b4dec5a5fdf, type: 2} + - {fileID: 2100000, guid: 82bace4c334919c4f92e87905c39fdf8, type: 2} + - {fileID: 2100000, guid: c4382cc6d54262b46913ae6fe8a3740e, type: 2} + - {fileID: 2100000, guid: 7eb7cd9bfc12d4c4198d1874ca5a1aa4, type: 2} + - {fileID: 2100000, guid: bd8b723337ae5824fa61f693f76e943f, type: 2} + - {fileID: 2100000, guid: faae26a849699fc4b804b74882a344df, type: 2} + - {fileID: 2100000, guid: a793cd1d5fe89c440900d816c7b8c323, type: 2} + - {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2} + - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} - {fileID: 2100000, guid: 9ae5e187a5d8f4e4893d37b62cbf0959, type: 2} - {fileID: 2100000, guid: ff135f18e14d9a94287191652767f722, type: 2} + - {fileID: 2100000, guid: 220d5a1f1701e674794a1083cc2f0bac, type: 2} - {fileID: 2100000, guid: 341141e903fac3e4ca54a62259c6d01d, type: 2} LightMapsNear: [] LightMapsFar: [] diff --git a/Assets/Textures/T_AcmeCrimenet.png b/Assets/Textures/T_AcmeCrimenet.png index b9452f1..70ffcc5 100644 Binary files a/Assets/Textures/T_AcmeCrimenet.png and b/Assets/Textures/T_AcmeCrimenet.png differ diff --git a/Assets/UdonSharp/ChoiceCardGroup.cs b/Assets/UdonSharp/ChoiceCardGroup.cs index e924b48..6ca1218 100644 --- a/Assets/UdonSharp/ChoiceCardGroup.cs +++ b/Assets/UdonSharp/ChoiceCardGroup.cs @@ -110,14 +110,20 @@ public class ChoiceCardGroup : UdonSharpBehaviour public void SetChoices(string[] Choices, int[] Indices) { - _ChoiceCards[Indices[0]].ChoiceNumber = 1; - _ChoiceCardText[Indices[0]].text = Choices[0]; - - _ChoiceCards[Indices[1]].ChoiceNumber = 2; - _ChoiceCardText[Indices[1]].text = Choices[1]; - - _ChoiceCards[Indices[2]].ChoiceNumber = 3; - _ChoiceCardText[Indices[2]].text = Choices[2]; + for (int i = 0; i < _ChoiceCards.Length && i < _ChoiceCardText.Length; i++) + { + _ChoiceCards[Indices[i]].ChoiceNumber = (i + 1); + _ChoiceCardText[Indices[i]].text = Choices[i]; + } + } + + [NetworkCallable] + public void MakeChoiceTextVisible() + { + for (int i = 0; i < _ChoiceCards.Length && i < _ChoiceCardText.Length; i++) + { + _ChoiceCardText[i].gameObject.SetActive(true); + } } public void LockInChoice() @@ -147,6 +153,7 @@ public class ChoiceCardGroup : UdonSharpBehaviour Card.ResetPosition(); _ChoiceCardText[i].text = ""; + _ChoiceCardText[i].gameObject.SetActive(false); Card.DisableInteractive = IsInVR; diff --git a/Assets/UdonSharp/GameManager.cs b/Assets/UdonSharp/GameManager.cs index d45566b..d7ff2cd 100644 --- a/Assets/UdonSharp/GameManager.cs +++ b/Assets/UdonSharp/GameManager.cs @@ -222,7 +222,10 @@ public class GameManager : UdonSharpBehaviour for (int i = 0; i < _PlayerPodiums.Length; i++) { - NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_PlayerPodiums[i], NetworkEventTarget.All, "VerifyResponse", _QuestionCorrectResponse); + NetworkCalling.SendCustomNetworkEvent( + (IUdonEventReceiver)_PlayerPodiums[i], + NetworkEventTarget.All, + "VerifyMultipleChoiceResponse", _QuestionCorrectResponse); } EnableInteraction("Next Question"); @@ -232,9 +235,18 @@ public class GameManager : UdonSharpBehaviour private void BeginLightningRound() { _LightningRoundQuestionIndex = 0; + _LightningRoundInterface.HeaderUI.text = "Lightning Round | " + _CurrentQuestion["Location"].ToString(); + _LightningRoundInterface.QuestionUI.text = ""; + for (int i = 0; i < _LightningRoundInterface.ChoiceUI.Length && i < _LightningRoundInterface.ChoiceButtons.Length; i++) + { + _LightningRoundInterface.ChoiceUI[i].text = ""; + _LightningRoundInterface.ChoiceButtonImages[i].color = Color.red; + } + EnableHostCardDisplay(QuestionType.LightningRound); EnableBuzzers(); + EnableInteraction("Next Question"); } @@ -265,17 +277,23 @@ public class GameManager : UdonSharpBehaviour private void LightningRoundCheckAnswer(int Answer) { - if (_BuzzedInPlayer > 0 && _QuestionCorrectResponse == Answer) + if (_QuestionCorrectResponse == Answer) { for (int i = 0; i < _LightningRoundInterface.ChoiceButtons.Length; i++) { _LightningRoundInterface.ChoiceButtons[i].interactable = false; } - _PlayerPodiums[_BuzzedInPlayer - 1].IncreaseScoreBy5(); + int PodiumIndex = _BuzzedInPlayer - 1; + if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length) + { + NetworkCalling.SendCustomNetworkEvent( + (IUdonEventReceiver)_PlayerPodiums[PodiumIndex], + NetworkEventTarget.All, + "IncreaseScoreBy5"); + } EndBuzzInPeriod(); - EnableInteraction("Next Question"); } else @@ -382,12 +400,16 @@ public class GameManager : UdonSharpBehaviour public void WaitForBuzzInsWithoutLastPlayer() { _BuzzInAllowed = true; - NetworkCalling.SendCustomNetworkEvent( - (IUdonEventReceiver)_PlayerPodiums[_BuzzedInPlayer - 1], - NetworkEventTarget.All, - "EnableBuzzInEffect", false); - _BuzzedInPlayer = -1; - RequestSerialization(); + int PodiumIndex = _BuzzedInPlayer - 1; + if (PodiumIndex >= 0 && PodiumIndex < _PlayerPodiums.Length) + { + NetworkCalling.SendCustomNetworkEvent( + (IUdonEventReceiver)_PlayerPodiums[_BuzzedInPlayer - 1], + NetworkEventTarget.All, + "EnableBuzzInEffect", false); + _BuzzedInPlayer = -1; + RequestSerialization(); + } } [NetworkCallable] diff --git a/Assets/UdonSharp/PlayerPodium.cs b/Assets/UdonSharp/PlayerPodium.cs index 41720aa..750d936 100644 --- a/Assets/UdonSharp/PlayerPodium.cs +++ b/Assets/UdonSharp/PlayerPodium.cs @@ -1,10 +1,10 @@  using UdonSharp; +using UnityEngine; +using TMPro; using VRC.SDKBase; using VRC.SDK3.UdonNetworkCalling; -using TMPro; -using UnityEngine; -using VRC.SDK3.Components; +using VRC.Udon.Common.Interfaces; [UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] public class PlayerPodium : UdonSharpBehaviour @@ -35,22 +35,31 @@ public class PlayerPodium : UdonSharpBehaviour public void SetPlayerName() { - Debug.LogWarning("Player name is being set here"); - if (_PlayerID != -1) { return; } + if (_PlayerID != -1) + { + return; + } + Networking.SetOwner(Networking.LocalPlayer, gameObject); + Networking.SetOwner(Networking.LocalPlayer, _ChoiceCards.gameObject); + Networking.SetOwner(Networking.LocalPlayer, _Buzzer.gameObject); + PlayerName = Networking.LocalPlayer.displayName; _PlayerID = Networking.LocalPlayer.playerId; + RequestSerialization(); } public int GetPlayerID() { return _PlayerID; } + [NetworkCallable] public void DecreaseScoreBy5() { PlayerScore -= 5; } + [NetworkCallable] public void IncreaseScoreBy5() { PlayerScore += 5; @@ -68,6 +77,10 @@ public class PlayerPodium : UdonSharpBehaviour { _ChoiceCards.gameObject.SetActive(Enable); _ChoiceCards.ResetCards(); + NetworkCalling.SendCustomNetworkEvent( + (IUdonEventReceiver)_ChoiceCards, + NetworkEventTarget.Owner, + "MakeChoiceTextVisible"); } [NetworkCallable] @@ -80,10 +93,14 @@ public class PlayerPodium : UdonSharpBehaviour public void LockInChoice() { _ChoiceCards.LockInChoice(); + NetworkCalling.SendCustomNetworkEvent( + (IUdonEventReceiver)_ChoiceCards, + NetworkEventTarget.All, + "MakeChoiceTextVisible"); } [NetworkCallable] - public void VerifyResponse(int CorrectResponse) + public void VerifyMultipleChoiceResponse(int CorrectResponse) { if (_ChoiceCards.GetSelectedChoice() == CorrectResponse) { diff --git a/Assets/UdonSharp/UtilityScripts/BoneFollower.asset b/Assets/UdonSharp/UtilityScripts/BoneFollower.asset index b946757..036a370 100644 --- a/Assets/UdonSharp/UtilityScripts/BoneFollower.asset +++ b/Assets/UdonSharp/UtilityScripts/BoneFollower.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: BoneFollower m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: ccbda9bf23e2f714c9226283c77a92e5, + serializedUdonProgramAsset: {fileID: 11400000, guid: 52ecc8a73071e8e40928c3609699fcf4, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/InteractToggle.asset b/Assets/UdonSharp/UtilityScripts/InteractToggle.asset index b35639e..13d78db 100644 --- a/Assets/UdonSharp/UtilityScripts/InteractToggle.asset +++ b/Assets/UdonSharp/UtilityScripts/InteractToggle.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: InteractToggle m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: 405e38d3dfb2f514daeed0e28fbb4864, + serializedUdonProgramAsset: {fileID: 11400000, guid: 873dfce61b1514e429c92e0d2fded7de, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/PlayerModSetter.asset b/Assets/UdonSharp/UtilityScripts/PlayerModSetter.asset index 1def3de..d89a1a4 100644 --- a/Assets/UdonSharp/UtilityScripts/PlayerModSetter.asset +++ b/Assets/UdonSharp/UtilityScripts/PlayerModSetter.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: PlayerModSetter m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: f938e6c4ff027a74da405a1f9353fd2b, + serializedUdonProgramAsset: {fileID: 11400000, guid: e81558796a212ab4d88e305e2010f24b, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/Synced/GlobalToggleObject.asset b/Assets/UdonSharp/UtilityScripts/Synced/GlobalToggleObject.asset index 8101274..ea98aa4 100644 --- a/Assets/UdonSharp/UtilityScripts/Synced/GlobalToggleObject.asset +++ b/Assets/UdonSharp/UtilityScripts/Synced/GlobalToggleObject.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: GlobalToggleObject m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: c49c9265a3ef24642a6a4465d0a78872, + serializedUdonProgramAsset: {fileID: 11400000, guid: 2fe8ced6184000f49bca526cd2c5891c, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/Synced/MasterToggleObject.asset b/Assets/UdonSharp/UtilityScripts/Synced/MasterToggleObject.asset index 901d05e..b4b3ede 100644 --- a/Assets/UdonSharp/UtilityScripts/Synced/MasterToggleObject.asset +++ b/Assets/UdonSharp/UtilityScripts/Synced/MasterToggleObject.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: MasterToggleObject m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: 04024a76ab1924042ba521e11cb76d91, + serializedUdonProgramAsset: {fileID: 11400000, guid: a2d01d9f36ac6df49831be249e48ecc4, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/TrackingDataFollower.asset b/Assets/UdonSharp/UtilityScripts/TrackingDataFollower.asset index da92932..c624599 100644 --- a/Assets/UdonSharp/UtilityScripts/TrackingDataFollower.asset +++ b/Assets/UdonSharp/UtilityScripts/TrackingDataFollower.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: TrackingDataFollower m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: 17f8fbbe6cc186d4f8dbb057b01a4ec2, + serializedUdonProgramAsset: {fileID: 11400000, guid: 1b89d4552983c0448a7389decec3b555, type: 2} udonAssembly: assemblyError: diff --git a/Assets/UdonSharp/UtilityScripts/WorldAudioSettings.asset b/Assets/UdonSharp/UtilityScripts/WorldAudioSettings.asset index ee4621f..5226f4f 100644 --- a/Assets/UdonSharp/UtilityScripts/WorldAudioSettings.asset +++ b/Assets/UdonSharp/UtilityScripts/WorldAudioSettings.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Name: WorldAudioSettings m_EditorClassIdentifier: - serializedUdonProgramAsset: {fileID: 11400000, guid: 128d924a3066b7546b2d1c73e61006ab, + serializedUdonProgramAsset: {fileID: 11400000, guid: 994b559b0f158b4499f8937980ed8694, type: 2} udonAssembly: assemblyError: diff --git a/Raw Files/ACME Crimenet Logo.xcf b/Raw Files/ACME Crimenet Logo.xcf index 5b93752..2d281f7 100644 Binary files a/Raw Files/ACME Crimenet Logo.xcf and b/Raw Files/ACME Crimenet Logo.xcf differ