From 0bb3036c53f4b87dc988a73c75602178bc612d8d Mon Sep 17 00:00:00 2001 From: Jamie Greunbaum Date: Sun, 8 Jun 2025 03:12:46 -0400 Subject: [PATCH] Risk cards are partly implemented. --- Assembly-CSharp.csproj | 10 +- ...> PC Choice Card Held Position.controller} | 2 +- ...Choice Card Held Position.controller.meta} | 0 ....anim => PC Choice Card Turn Forward.anim} | 2 +- ... => PC Choice Card Turn Forward.anim.meta} | 0 ...rned.anim => PC Choice Card Unturned.anim} | 2 +- ...meta => PC Choice Card Unturned.anim.meta} | 0 .../PC Risk Card Held Position.controller | 248 ++++ ...PC Risk Card Held Position.controller.meta | 8 + .../PC Risk Card Turn Forward.anim | 213 +++ .../PC Risk Card Turn Forward.anim.meta | 8 + .../Player Podium/PC Risk Card Unturned.anim | 177 +++ .../PC Risk Card Unturned.anim.meta | 8 + Assets/Models/RiskCard.fbx | Bin 0 -> 16252 bytes Assets/Models/RiskCard.fbx.meta | 109 ++ Assets/Prefabs/Player Podium.prefab | 1211 ++++++++++++++++- Assets/Prefabs/Risk Card.prefab | 447 ++++++ Assets/Prefabs/Risk Card.prefab.meta | 7 + Assets/Scenes/witwics.unity | 600 +++++++- Assets/UdonSharp/GameManager.asset | 191 +-- Assets/UdonSharp/GameManager.cs | 162 ++- Assets/UdonSharp/Podium.meta | 8 + Assets/UdonSharp/{ => Podium}/Buzzer.asset | 0 .../UdonSharp/{ => Podium}/Buzzer.asset.meta | 0 Assets/UdonSharp/{ => Podium}/Buzzer.cs | 0 Assets/UdonSharp/{ => Podium}/Buzzer.cs.meta | 0 .../UdonSharp/{ => Podium}/ChoiceCard.asset | 0 .../{ => Podium}/ChoiceCard.asset.meta | 0 Assets/UdonSharp/{ => Podium}/ChoiceCard.cs | 0 .../UdonSharp/{ => Podium}/ChoiceCard.cs.meta | 0 .../{ => Podium}/ChoiceCardGroup.asset | 0 .../{ => Podium}/ChoiceCardGroup.asset.meta | 0 .../UdonSharp/{ => Podium}/ChoiceCardGroup.cs | 7 +- .../{ => Podium}/ChoiceCardGroup.cs.meta | 0 .../UdonSharp/{ => Podium}/PlayerPodium.asset | 152 ++- .../{ => Podium}/PlayerPodium.asset.meta | 0 Assets/UdonSharp/{ => Podium}/PlayerPodium.cs | 44 +- .../{ => Podium}/PlayerPodium.cs.meta | 0 Assets/UdonSharp/Podium/RiskCard.asset | 353 +++++ Assets/UdonSharp/Podium/RiskCard.asset.meta | 8 + Assets/UdonSharp/Podium/RiskCard.cs | 58 + Assets/UdonSharp/Podium/RiskCard.cs.meta | 11 + Assets/UdonSharp/Podium/RiskCardGroup.asset | 425 ++++++ .../UdonSharp/Podium/RiskCardGroup.asset.meta | 8 + Assets/UdonSharp/Podium/RiskCardGroup.cs | 159 +++ Assets/UdonSharp/Podium/RiskCardGroup.cs.meta | 11 + .../UtilityScripts/BoneFollower.asset | 2 +- .../UtilityScripts/InteractToggle.asset | 2 +- .../UtilityScripts/PlayerModSetter.asset | 2 +- .../Synced/GlobalToggleObject.asset | 2 +- .../Synced/MasterToggleObject.asset | 2 +- .../UtilityScripts/TrackingDataFollower.asset | 2 +- .../UtilityScripts/WorldAudioSettings.asset | 2 +- .../PlayerData/PlayerData_2_witwics.json | 1 + .../PlayerData/PlayerData_3_witwics.json | 1 + .../PlayerData/PlayerData_4_witwics.json | 1 + .../PlayerObjects/PlayerObject_2_witwics.json | 3 + .../PlayerObjects/PlayerObject_3_witwics.json | 3 + .../PlayerObjects/PlayerObject_4_witwics.json | 3 + ProjectSettings/AudioManager.asset | 4 +- .../source => Meshes}/AnswerCard.blend | Bin Raw Files/Meshes/RiskCard.blend | Bin 0 -> 115271 bytes Thry/presets_known_materials.txt | 3 +- 63 files changed, 4385 insertions(+), 297 deletions(-) rename Assets/Animations/Player Podium/{PC Card Held Position.controller => PC Choice Card Held Position.controller} (99%) rename Assets/Animations/Player Podium/{PC Card Held Position.controller.meta => PC Choice Card Held Position.controller.meta} (100%) rename Assets/Animations/Player Podium/{PC Card Turn Forward.anim => PC Choice Card Turn Forward.anim} (99%) rename Assets/Animations/Player Podium/{PC Card Turn Forward.anim.meta => PC Choice Card Turn Forward.anim.meta} (100%) rename Assets/Animations/Player Podium/{PC Card Unturned.anim => PC Choice Card Unturned.anim} (99%) rename Assets/Animations/Player Podium/{PC Card Unturned.anim.meta => PC Choice Card Unturned.anim.meta} (100%) create mode 100644 Assets/Animations/Player Podium/PC Risk Card Held Position.controller create mode 100644 Assets/Animations/Player Podium/PC Risk Card Held Position.controller.meta create mode 100644 Assets/Animations/Player Podium/PC Risk Card Turn Forward.anim create mode 100644 Assets/Animations/Player Podium/PC Risk Card Turn Forward.anim.meta create mode 100644 Assets/Animations/Player Podium/PC Risk Card Unturned.anim create mode 100644 Assets/Animations/Player Podium/PC Risk Card Unturned.anim.meta create mode 100644 Assets/Models/RiskCard.fbx create mode 100644 Assets/Models/RiskCard.fbx.meta create mode 100644 Assets/Prefabs/Risk Card.prefab create mode 100644 Assets/Prefabs/Risk Card.prefab.meta create mode 100644 Assets/UdonSharp/Podium.meta rename Assets/UdonSharp/{ => Podium}/Buzzer.asset (100%) rename Assets/UdonSharp/{ => Podium}/Buzzer.asset.meta (100%) rename Assets/UdonSharp/{ => Podium}/Buzzer.cs (100%) rename Assets/UdonSharp/{ => Podium}/Buzzer.cs.meta (100%) rename Assets/UdonSharp/{ => Podium}/ChoiceCard.asset (100%) rename Assets/UdonSharp/{ => Podium}/ChoiceCard.asset.meta (100%) rename Assets/UdonSharp/{ => Podium}/ChoiceCard.cs (100%) rename Assets/UdonSharp/{ => Podium}/ChoiceCard.cs.meta (100%) rename Assets/UdonSharp/{ => Podium}/ChoiceCardGroup.asset (100%) rename Assets/UdonSharp/{ => Podium}/ChoiceCardGroup.asset.meta (100%) rename Assets/UdonSharp/{ => Podium}/ChoiceCardGroup.cs (94%) rename Assets/UdonSharp/{ => Podium}/ChoiceCardGroup.cs.meta (100%) rename Assets/UdonSharp/{ => Podium}/PlayerPodium.asset (89%) rename Assets/UdonSharp/{ => Podium}/PlayerPodium.asset.meta (100%) rename Assets/UdonSharp/{ => Podium}/PlayerPodium.cs (78%) rename Assets/UdonSharp/{ => Podium}/PlayerPodium.cs.meta (100%) create mode 100644 Assets/UdonSharp/Podium/RiskCard.asset create mode 100644 Assets/UdonSharp/Podium/RiskCard.asset.meta create mode 100644 Assets/UdonSharp/Podium/RiskCard.cs create mode 100644 Assets/UdonSharp/Podium/RiskCard.cs.meta create mode 100644 Assets/UdonSharp/Podium/RiskCardGroup.asset create mode 100644 Assets/UdonSharp/Podium/RiskCardGroup.asset.meta create mode 100644 Assets/UdonSharp/Podium/RiskCardGroup.cs create mode 100644 Assets/UdonSharp/Podium/RiskCardGroup.cs.meta create mode 100644 ClientSimStorage/PlayerData/PlayerData_2_witwics.json create mode 100644 ClientSimStorage/PlayerData/PlayerData_3_witwics.json create mode 100644 ClientSimStorage/PlayerData/PlayerData_4_witwics.json create mode 100644 ClientSimStorage/PlayerObjects/PlayerObject_2_witwics.json create mode 100644 ClientSimStorage/PlayerObjects/PlayerObject_3_witwics.json create mode 100644 ClientSimStorage/PlayerObjects/PlayerObject_4_witwics.json rename Raw Files/{1982 Sony Betacam/source => Meshes}/AnswerCard.blend (100%) create mode 100644 Raw Files/Meshes/RiskCard.blend diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index d36b695..031cec2 100644 --- a/Assembly-CSharp.csproj +++ b/Assembly-CSharp.csproj @@ -63,26 +63,28 @@ - - - + + - + + + + diff --git a/Assets/Animations/Player Podium/PC Card Held Position.controller b/Assets/Animations/Player Podium/PC Choice Card Held Position.controller similarity index 99% rename from Assets/Animations/Player Podium/PC Card Held Position.controller rename to Assets/Animations/Player Podium/PC Choice Card Held Position.controller index e9f695d..b87f54b 100644 --- a/Assets/Animations/Player Podium/PC Card Held Position.controller +++ b/Assets/Animations/Player Podium/PC Choice Card Held Position.controller @@ -58,7 +58,7 @@ AnimatorController: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PC Card Held Position + m_Name: PC Choice Card Held Position serializedVersion: 5 m_AnimatorParameters: - m_Name: Turn Forward diff --git a/Assets/Animations/Player Podium/PC Card Held Position.controller.meta b/Assets/Animations/Player Podium/PC Choice Card Held Position.controller.meta similarity index 100% rename from Assets/Animations/Player Podium/PC Card Held Position.controller.meta rename to Assets/Animations/Player Podium/PC Choice Card Held Position.controller.meta diff --git a/Assets/Animations/Player Podium/PC Card Turn Forward.anim b/Assets/Animations/Player Podium/PC Choice Card Turn Forward.anim similarity index 99% rename from Assets/Animations/Player Podium/PC Card Turn Forward.anim rename to Assets/Animations/Player Podium/PC Choice Card Turn Forward.anim index 6505a25..6ab2b85 100644 --- a/Assets/Animations/Player Podium/PC Card Turn Forward.anim +++ b/Assets/Animations/Player Podium/PC Choice Card Turn Forward.anim @@ -6,7 +6,7 @@ AnimationClip: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PC Card Turn Forward + m_Name: PC Choice Card Turn Forward serializedVersion: 7 m_Legacy: 0 m_Compressed: 0 diff --git a/Assets/Animations/Player Podium/PC Card Turn Forward.anim.meta b/Assets/Animations/Player Podium/PC Choice Card Turn Forward.anim.meta similarity index 100% rename from Assets/Animations/Player Podium/PC Card Turn Forward.anim.meta rename to Assets/Animations/Player Podium/PC Choice Card Turn Forward.anim.meta diff --git a/Assets/Animations/Player Podium/PC Card Unturned.anim b/Assets/Animations/Player Podium/PC Choice Card Unturned.anim similarity index 99% rename from Assets/Animations/Player Podium/PC Card Unturned.anim rename to Assets/Animations/Player Podium/PC Choice Card Unturned.anim index 05873a0..4a4c950 100644 --- a/Assets/Animations/Player Podium/PC Card Unturned.anim +++ b/Assets/Animations/Player Podium/PC Choice Card Unturned.anim @@ -6,7 +6,7 @@ AnimationClip: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: PC Card Unturned + m_Name: PC Choice Card Unturned serializedVersion: 7 m_Legacy: 0 m_Compressed: 0 diff --git a/Assets/Animations/Player Podium/PC Card Unturned.anim.meta b/Assets/Animations/Player Podium/PC Choice Card Unturned.anim.meta similarity index 100% rename from Assets/Animations/Player Podium/PC Card Unturned.anim.meta rename to Assets/Animations/Player Podium/PC Choice Card Unturned.anim.meta diff --git a/Assets/Animations/Player Podium/PC Risk Card Held Position.controller b/Assets/Animations/Player Podium/PC Risk Card Held Position.controller new file mode 100644 index 0000000..77a9404 --- /dev/null +++ b/Assets/Animations/Player Podium/PC Risk Card Held Position.controller @@ -0,0 +1,248 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-9017914326769952290 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PC Risk Card Unturned + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 8174889213291338993} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 6e0ad50014b2da0459197335bee66c90, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-6821663488756622764 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: Turn Forward + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 0} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 1 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1107 &-6408554194790768326 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Turn Around + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -9017914326769952290} + m_Position: {x: 30, y: 180, z: 0} + - serializedVersion: 1 + m_State: {fileID: -5333643500733086350} + m_Position: {x: 420, y: 180, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -9017914326769952290} +--- !u!1102 &-5333643500733086350 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PC Risk Card Turn Forward + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -6821663488756622764} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 3e5e695b547704941b4742464636c834, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-4057599397010676184 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PC Risk Card Unturned + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 6e0ad50014b2da0459197335bee66c90, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PC Risk Card Held Position + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: Turn Forward + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 9202831134477722989} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} + - serializedVersion: 5 + m_Name: Turn Around + m_StateMachine: {fileID: -6408554194790768326} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 1 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &1849328283668788395 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PC Risk Card Turn Forward + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 3e5e695b547704941b4742464636c834, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &8174889213291338993 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Turn Forward + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -5333643500733086350} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1107 &9202831134477722989 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -4057599397010676184} + m_Position: {x: 200, y: 0, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1849328283668788395} + m_Position: {x: 235, y: 65, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -4057599397010676184} diff --git a/Assets/Animations/Player Podium/PC Risk Card Held Position.controller.meta b/Assets/Animations/Player Podium/PC Risk Card Held Position.controller.meta new file mode 100644 index 0000000..834d306 --- /dev/null +++ b/Assets/Animations/Player Podium/PC Risk Card Held Position.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c12245a6345a6064ba92bec7269089e1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/Player Podium/PC Risk Card Turn Forward.anim b/Assets/Animations/Player Podium/PC Risk Card Turn Forward.anim new file mode 100644 index 0000000..54ae964 --- /dev/null +++ b/Assets/Animations/Player Podium/PC Risk Card Turn Forward.anim @@ -0,0 +1,213 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PC Risk Card Turn Forward + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 90, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1 + value: {x: -90, y: -90, z: -90} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 90 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: -90 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: -90 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: -90 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/Player Podium/PC Risk Card Turn Forward.anim.meta b/Assets/Animations/Player Podium/PC Risk Card Turn Forward.anim.meta new file mode 100644 index 0000000..519e719 --- /dev/null +++ b/Assets/Animations/Player Podium/PC Risk Card Turn Forward.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e5e695b547704941b4742464636c834 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/Player Podium/PC Risk Card Unturned.anim b/Assets/Animations/Player Podium/PC Risk Card Unturned.anim new file mode 100644 index 0000000..feded47 --- /dev/null +++ b/Assets/Animations/Player Podium/PC Risk Card Unturned.anim @@ -0,0 +1,177 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PC Risk Card Unturned + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 90, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 90 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/Player Podium/PC Risk Card Unturned.anim.meta b/Assets/Animations/Player Podium/PC Risk Card Unturned.anim.meta new file mode 100644 index 0000000..dea1d11 --- /dev/null +++ b/Assets/Animations/Player Podium/PC Risk Card Unturned.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e0ad50014b2da0459197335bee66c90 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/RiskCard.fbx b/Assets/Models/RiskCard.fbx new file mode 100644 index 0000000000000000000000000000000000000000..cc2ab067c8f24b7380b5805bdcb272eb44a9b840 GIT binary patch literal 16252 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 - Entry: 9 - Data: 30 + Entry: 7 + Data: 33|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Int32[], mscorlib + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 30 + Data: 33 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -581,7 +587,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 34|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -605,7 +611,7 @@ MonoBehaviour: Data: _IsBeingHeld - Name: $v Entry: 7 - Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _IsBeingHeld @@ -629,7 +635,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 35|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -653,13 +659,13 @@ MonoBehaviour: Data: _StoredJumpImpulse - Name: $v Entry: 7 - Data: 36|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _StoredJumpImpulse - Name: k__BackingField Entry: 7 - Data: 37|System.RuntimeType, mscorlib + Data: 38|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Single, mscorlib @@ -668,7 +674,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 37 + Data: 38 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -683,7 +689,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 39|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -707,13 +713,13 @@ MonoBehaviour: Data: _PlayerPodiums - Name: $v Entry: 7 - Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _PlayerPodiums - Name: k__BackingField Entry: 7 - Data: 40|System.RuntimeType, mscorlib + Data: 41|System.RuntimeType, mscorlib - Name: Entry: 1 Data: PlayerPodium[], Assembly-CSharp @@ -722,7 +728,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 7 - Data: 41|System.RuntimeType, mscorlib + Data: 42|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.Component[], UnityEngine.CoreModule @@ -743,13 +749,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 43|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 43|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 44|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -773,13 +779,13 @@ MonoBehaviour: Data: QuestionURL - Name: $v Entry: 7 - Data: 44|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: QuestionURL - Name: k__BackingField Entry: 7 - Data: 45|System.RuntimeType, mscorlib + Data: 46|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VRC.SDKBase.VRCUrl, VRCSDKBase @@ -788,7 +794,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 45 + Data: 46 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -803,13 +809,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 46|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 47|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 48|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -833,13 +839,13 @@ MonoBehaviour: Data: _BetweenRoundsInterface - Name: $v Entry: 7 - Data: 48|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _BetweenRoundsInterface - Name: k__BackingField Entry: 7 - Data: 49|System.RuntimeType, mscorlib + Data: 50|System.RuntimeType, mscorlib - Name: Entry: 1 Data: HostCardBetweenRoundsInterface, Assembly-CSharp @@ -848,7 +854,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 7 - Data: 50|System.RuntimeType, mscorlib + Data: 51|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VRC.Udon.UdonBehaviour, VRC.Udon @@ -869,13 +875,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 51|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 52|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 52|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + Data: 53|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - Name: header Entry: 1 Data: UI @@ -884,7 +890,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 53|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 54|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -908,13 +914,13 @@ MonoBehaviour: Data: _MultipleChoiceInterface - Name: $v Entry: 7 - Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 55|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _MultipleChoiceInterface - Name: k__BackingField Entry: 7 - Data: 55|System.RuntimeType, mscorlib + Data: 56|System.RuntimeType, mscorlib - Name: Entry: 1 Data: HostCardMultipleChoiceInterface, Assembly-CSharp @@ -923,7 +929,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 50 + Data: 51 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -938,13 +944,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 56|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: 57|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 58|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -968,13 +974,13 @@ MonoBehaviour: Data: _LightningRoundInterface - Name: $v Entry: 7 - Data: 58|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _LightningRoundInterface - Name: k__BackingField Entry: 7 - Data: 59|System.RuntimeType, mscorlib + Data: 60|System.RuntimeType, mscorlib - Name: Entry: 1 Data: HostCardLightningRoundInterface, Assembly-CSharp @@ -983,7 +989,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 50 + Data: 51 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -998,13 +1004,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 60|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: 61|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 62|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1028,13 +1034,13 @@ MonoBehaviour: Data: _TheChaseInterface - Name: $v Entry: 7 - Data: 62|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _TheChaseInterface - Name: k__BackingField Entry: 7 - Data: 63|System.RuntimeType, mscorlib + Data: 64|System.RuntimeType, mscorlib - Name: Entry: 1 Data: HostCardTheChaseInterface, Assembly-CSharp @@ -1043,7 +1049,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 50 + Data: 51 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1058,13 +1064,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 64|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 65|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 65|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 66|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1088,13 +1094,13 @@ MonoBehaviour: Data: _FinalRoundInterface - Name: $v Entry: 7 - Data: 66|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 67|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _FinalRoundInterface - Name: k__BackingField Entry: 7 - Data: 67|System.RuntimeType, mscorlib + Data: 68|System.RuntimeType, mscorlib - Name: Entry: 1 Data: HostCardFinalRoundInterface, Assembly-CSharp @@ -1103,7 +1109,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 50 + Data: 51 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1118,13 +1124,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 68|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: 69|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 70|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1148,13 +1154,13 @@ MonoBehaviour: Data: _AdminPanelInterface - Name: $v Entry: 7 - Data: 70|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 71|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _AdminPanelInterface - Name: k__BackingField Entry: 7 - Data: 71|System.RuntimeType, mscorlib + Data: 72|System.RuntimeType, mscorlib - Name: Entry: 1 Data: HostPanelInterface, Assembly-CSharp @@ -1163,7 +1169,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 50 + Data: 51 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1178,13 +1184,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 72|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 73|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 73|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 74|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1208,13 +1214,13 @@ MonoBehaviour: Data: _Ding - Name: $v Entry: 7 - Data: 74|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _Ding - Name: k__BackingField Entry: 7 - Data: 75|System.RuntimeType, mscorlib + Data: 76|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.AudioClip, UnityEngine.AudioModule @@ -1223,7 +1229,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1238,13 +1244,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 76|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 77|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 77|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + Data: 78|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - Name: header Entry: 1 Data: Audio @@ -1253,7 +1259,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 78|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 79|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1277,16 +1283,16 @@ MonoBehaviour: Data: _Buzzer - Name: $v Entry: 7 - Data: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 80|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _Buzzer - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1301,13 +1307,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 80|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 81|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 81|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 82|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1331,16 +1337,16 @@ MonoBehaviour: Data: _TheChase - Name: $v Entry: 7 - Data: 82|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 83|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _TheChase - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1355,13 +1361,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 83|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 84|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 84|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 85|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1385,16 +1391,16 @@ MonoBehaviour: Data: _ThinkAboutIt - Name: $v Entry: 7 - Data: 85|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 86|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _ThinkAboutIt - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1409,13 +1415,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 86|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 87|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 87|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 88|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1439,16 +1445,16 @@ MonoBehaviour: Data: _WhereInTheWorld - Name: $v Entry: 7 - Data: 88|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 89|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _WhereInTheWorld - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1463,13 +1469,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 89|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 90|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 90|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 91|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1493,16 +1499,16 @@ MonoBehaviour: Data: _RockapellaIdent - Name: $v Entry: 7 - Data: 91|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 92|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _RockapellaIdent - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 9 - Data: 75 + Data: 76 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1517,13 +1523,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 92|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 93|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 93|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 94|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1547,13 +1553,13 @@ MonoBehaviour: Data: _MusicPlayer - Name: $v Entry: 7 - Data: 94|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 95|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _MusicPlayer - Name: k__BackingField Entry: 7 - Data: 95|System.RuntimeType, mscorlib + Data: 96|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.AudioSource, UnityEngine.AudioModule @@ -1562,7 +1568,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 95 + Data: 96 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1577,13 +1583,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 96|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 97|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 97|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 98|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1607,16 +1613,16 @@ MonoBehaviour: Data: _SFXPlayer - Name: $v Entry: 7 - Data: 98|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 99|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _SFXPlayer - Name: k__BackingField Entry: 9 - Data: 95 + Data: 96 - Name: k__BackingField Entry: 9 - Data: 95 + Data: 96 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1631,13 +1637,14 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 99|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 100|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 100|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 101|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: diff --git a/Assets/UdonSharp/GameManager.cs b/Assets/UdonSharp/GameManager.cs index faec9d0..44779bd 100644 --- a/Assets/UdonSharp/GameManager.cs +++ b/Assets/UdonSharp/GameManager.cs @@ -52,7 +52,7 @@ public class GameManager : UdonSharpBehaviour private DataList _QuestionsList = new DataList(); private DataDictionary _CurrentQuestion; - private DataDictionary _FinalRoundPlayersSortedByScore = new DataDictionary(); + private int[] _FinalRoundPlayersSortedByScore; private bool _IsBeingHeld = false; private float _StoredJumpImpulse = 0.0f; @@ -359,7 +359,7 @@ public class GameManager : UdonSharpBehaviour NetworkCalling.SendCustomNetworkEvent( (IUdonEventReceiver)_PlayerPodiums[PodiumIndex], NetworkEventTarget.All, - "IncreaseScoreBy5"); + "AdjustScore", 5); } EndBuzzInPeriod(); @@ -430,8 +430,8 @@ public class GameManager : UdonSharpBehaviour private void TheChaseCheckAnswer(int Answer) { - TheChaseEndClue(); - + Debug.LogError("Answer is " + Answer + ", correct response is " + _QuestionCorrectResponse); + if (_QuestionCorrectResponse == Answer) { int PodiumIndex = _BuzzedInPlayer - 1; @@ -440,9 +440,11 @@ public class GameManager : UdonSharpBehaviour NetworkCalling.SendCustomNetworkEvent( (IUdonEventReceiver)_PlayerPodiums[PodiumIndex], NetworkEventTarget.All, - "IncreaseScoreBy5"); + "AdjustScore", 5); } } + + TheChaseEndClue(); } public void TheChaseCheckAnswer1() @@ -473,6 +475,8 @@ public class GameManager : UdonSharpBehaviour { _FinalRoundInterface.HeaderUI.text = QuestionTypeToString((QuestionType)((int)_CurrentQuestion["Type"].Number)) + " | Showing Map Preview"; + EnableRiskCards(); + DataList ClueStrings = _CurrentQuestion["Clues"].DataList; for (int i = 0; i < _FinalRoundInterface.CluesUI.Length && i < ClueStrings.Count; i++) { @@ -503,6 +507,11 @@ public class GameManager : UdonSharpBehaviour { EnableHostCardDisplay(QuestionType.FinalRound); + for (int i = 0; i < _PlayerPodiums.Length; i++) + { + NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_PlayerPodiums[i], NetworkEventTarget.All, "LockInRisk"); + } + EnableInteraction("Reveal Choice 1"); } @@ -585,93 +594,58 @@ public class GameManager : UdonSharpBehaviour } } - SortPlayersByScore(); + SortPlayersHighToLowScore(); - EnableInteraction("Reveal Answers And Assign Points"); + EnableInteraction("Reveal Third Place"); } - private void SortPlayersByScore() + private void SortPlayersHighToLowScore() { - int NumberOfPodiums = _PlayerPodiums.Length; - int SizeOfSorter = (NumberOfPodiums * 2) - 1; + int PlayerPodiumsCount = _PlayerPodiums.Length; - int[] PlayerSorter = new int[SizeOfSorter]; - int[] ScoreSorter = new int[SizeOfSorter]; - for (int i = 0; i < SizeOfSorter; i++) + // We're gonna pull a trick here that lets us sort the scores and + // players properly. By multiplying the score by 1000 and then adding + // the player number to it, we can easily sort by score, followed by + // player number, and then convert that back to the needed information + // later. We also store the inverse player number (1000 - player no.) + // so that they are sorted in the opposite order they normally would + // when scores are equal, ensuring that if there is a 3-way tie, the + // order will still be Player 1 -> Player 2 -> Player 3. + DataList ScoresList = new DataList(); + for (int i = 0; i < PlayerPodiumsCount; i++) { - ScoreSorter[i] = int.MaxValue; - PlayerSorter[i] = 0; + ScoresList.Add(((_PlayerPodiums[i].PlayerScore) * 1000) + (1000 - _PlayerPodiums[i].PlayerNumber)); } + ScoresList.Sort(); - int SorterCentre = NumberOfPodiums - 1; - - PlayerSorter[SorterCentre] = 1; - ScoreSorter[SorterCentre] = _PlayerPodiums[0].PlayerScore; - for (int i = 1; i < NumberOfPodiums; i++) + _FinalRoundPlayersSortedByScore = new int[ScoresList.Count]; + for (int i = 0; i < _FinalRoundPlayersSortedByScore.Length; i++) { - if (_PlayerPodiums[i].PlayerScore < ScoreSorter[SorterCentre - (i - 1)]) - { - ScoreSorter[SorterCentre - i] = _PlayerPodiums[i].PlayerScore; - PlayerSorter[SorterCentre - i] = (i + 1); - } - else - { - ScoreSorter[SorterCentre + i] = _PlayerPodiums[i].PlayerScore; - PlayerSorter[SorterCentre + i] = (i + 1); - } - } - - for (int i = 0; i < SizeOfSorter; i++) - { - if (ScoreSorter[i] < int.MaxValue) - { - _FinalRoundPlayersSortedByScore[PlayerSorter[i].ToString()] = ScoreSorter[i]; - } - } - - for (int i = 0; i < _FinalRoundPlayersSortedByScore.Count; i++) - { - Debug.LogWarning("Player " + _FinalRoundPlayersSortedByScore.GetKeys()[i] + " has a score of " + _FinalRoundPlayersSortedByScore[_FinalRoundPlayersSortedByScore.GetKeys()[i]]); + int DecodedPlayerNumber = 1000 - (ScoresList[i].Int % 1000); + _FinalRoundPlayersSortedByScore[_FinalRoundPlayersSortedByScore.Length - i - 1] = DecodedPlayerNumber; } } - private void FinalRoundAssignPointsToLowestScoringPlayer() + private void FinalRoundRevealPlayerPlace(int PlayerPlace) { - _FinalRoundInterface.HeaderUI.text = "ANSWER REVEALED"; + int PlayerNumber = _FinalRoundPlayersSortedByScore[PlayerPlace - 1]; - int LowestScore = int.MaxValue; - int LowestScoringPlayer = -1; - for (int i = 0; i < _PlayerPodiums.Length; i++) - { - if (_PlayerPodiums[i].PlayerScore < LowestScore) - { - LowestScore = _PlayerPodiums[i].PlayerScore; - LowestScoringPlayer = i; - } - } + _FinalRoundInterface.HeaderUI.text = "Number " + PlayerPlace + ": Player " + PlayerNumber; + _PlayerPodiums[PlayerNumber - 1].EnableBuzzInEffect(true); - EnableInteraction("End Round"); + EnableInteraction("Assign Points"); } - private void FinalRoundAssignPointsToMiddleScoringPlayer() + private void FinalRoundAssignPointsToPlayerPlace(int PlayerPlace) { - _FinalRoundInterface.HeaderUI.text = "ANSWER REVEALED"; + int PlayerNumber = _FinalRoundPlayersSortedByScore[PlayerPlace - 1]; - for (int i = 0; i < _PlayerPodiums.Length; i++) - { - } + _PlayerPodiums[PlayerNumber - 1].EnableBuzzInEffect(false); + NetworkCalling.SendCustomNetworkEvent( + (IUdonEventReceiver)_PlayerPodiums[PlayerNumber - 1], + NetworkEventTarget.All, + "VerifyFinalRoundResponse", _QuestionCorrectResponse); - EnableInteraction("End Round"); - } - - private void FinalRoundAssignPointsToHighestScoringPlayer() - { - _FinalRoundInterface.HeaderUI.text = "ANSWER REVEALED"; - - for (int i = 0; i < _PlayerPodiums.Length; i++) - { - } - - EnableInteraction("End Round"); + EnableInteraction("Reveal Next Player Answer"); } @@ -739,6 +713,23 @@ public class GameManager : UdonSharpBehaviour } + private void EnableRiskCards() + { + for (int i = 0; i < _PlayerPodiums.Length; i++) + { + NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_PlayerPodiums[i], NetworkEventTarget.All, "EnableRiskCards", true); + } + } + + private void DisableRiskCards() + { + for (int i = 0; i < _PlayerPodiums.Length; i++) + { + NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_PlayerPodiums[i], NetworkEventTarget.All, "EnableRiskCards", false); + } + } + + public void EnableBuzzers() { for (int i = 0; i < _PlayerPodiums.Length; i++) @@ -882,16 +873,19 @@ public class GameManager : UdonSharpBehaviour { switch (_QuestionStage) { - case 1: BeginFinalRound(); break; - case 2: PlayThinkingMusic(); break; - case 3: FinalRoundRevealChoice1(); break; - case 4: FinalRoundRevealChoice2(); break; - case 5: FinalRoundRevealChoice3(); break; - case 6: FinalRoundLockAnswers(); break; - case 7: FinalRoundAssignPointsToLowestScoringPlayer(); break; - case 8: FinalRoundAssignPointsToMiddleScoringPlayer(); break; - case 9: FinalRoundAssignPointsToHighestScoringPlayer(); break; - case 10: AdvanceToNextQuestion(); break; + case 1: BeginFinalRound(); break; + case 2: PlayThinkingMusic(); break; + case 3: FinalRoundRevealChoice1(); break; + case 4: FinalRoundRevealChoice2(); break; + case 5: FinalRoundRevealChoice3(); break; + case 6: FinalRoundLockAnswers(); break; + case 7: FinalRoundRevealPlayerPlace(3); break; + case 8: FinalRoundAssignPointsToPlayerPlace(3); break; + case 9: FinalRoundRevealPlayerPlace(2); break; + case 10: FinalRoundAssignPointsToPlayerPlace(2); break; + case 11: FinalRoundRevealPlayerPlace(1); break; + case 12: FinalRoundAssignPointsToPlayerPlace(1); break; + case 13: AdvanceToNextQuestion(); break; default: break; } } @@ -1004,7 +998,7 @@ public class GameManager : UdonSharpBehaviour } } - private void EnableInteraction(string InteractionText = "Advance") + private void EnableInteraction(string NextInteraction = "Advance") { DisableInteractive = false; VRCPickup Pickup = GetComponent(); diff --git a/Assets/UdonSharp/Podium.meta b/Assets/UdonSharp/Podium.meta new file mode 100644 index 0000000..74de36c --- /dev/null +++ b/Assets/UdonSharp/Podium.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 68c79750eafd79f4a82d6da25bff19b9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UdonSharp/Buzzer.asset b/Assets/UdonSharp/Podium/Buzzer.asset similarity index 100% rename from Assets/UdonSharp/Buzzer.asset rename to Assets/UdonSharp/Podium/Buzzer.asset diff --git a/Assets/UdonSharp/Buzzer.asset.meta b/Assets/UdonSharp/Podium/Buzzer.asset.meta similarity index 100% rename from Assets/UdonSharp/Buzzer.asset.meta rename to Assets/UdonSharp/Podium/Buzzer.asset.meta diff --git a/Assets/UdonSharp/Buzzer.cs b/Assets/UdonSharp/Podium/Buzzer.cs similarity index 100% rename from Assets/UdonSharp/Buzzer.cs rename to Assets/UdonSharp/Podium/Buzzer.cs diff --git a/Assets/UdonSharp/Buzzer.cs.meta b/Assets/UdonSharp/Podium/Buzzer.cs.meta similarity index 100% rename from Assets/UdonSharp/Buzzer.cs.meta rename to Assets/UdonSharp/Podium/Buzzer.cs.meta diff --git a/Assets/UdonSharp/ChoiceCard.asset b/Assets/UdonSharp/Podium/ChoiceCard.asset similarity index 100% rename from Assets/UdonSharp/ChoiceCard.asset rename to Assets/UdonSharp/Podium/ChoiceCard.asset diff --git a/Assets/UdonSharp/ChoiceCard.asset.meta b/Assets/UdonSharp/Podium/ChoiceCard.asset.meta similarity index 100% rename from Assets/UdonSharp/ChoiceCard.asset.meta rename to Assets/UdonSharp/Podium/ChoiceCard.asset.meta diff --git a/Assets/UdonSharp/ChoiceCard.cs b/Assets/UdonSharp/Podium/ChoiceCard.cs similarity index 100% rename from Assets/UdonSharp/ChoiceCard.cs rename to Assets/UdonSharp/Podium/ChoiceCard.cs diff --git a/Assets/UdonSharp/ChoiceCard.cs.meta b/Assets/UdonSharp/Podium/ChoiceCard.cs.meta similarity index 100% rename from Assets/UdonSharp/ChoiceCard.cs.meta rename to Assets/UdonSharp/Podium/ChoiceCard.cs.meta diff --git a/Assets/UdonSharp/ChoiceCardGroup.asset b/Assets/UdonSharp/Podium/ChoiceCardGroup.asset similarity index 100% rename from Assets/UdonSharp/ChoiceCardGroup.asset rename to Assets/UdonSharp/Podium/ChoiceCardGroup.asset diff --git a/Assets/UdonSharp/ChoiceCardGroup.asset.meta b/Assets/UdonSharp/Podium/ChoiceCardGroup.asset.meta similarity index 100% rename from Assets/UdonSharp/ChoiceCardGroup.asset.meta rename to Assets/UdonSharp/Podium/ChoiceCardGroup.asset.meta diff --git a/Assets/UdonSharp/ChoiceCardGroup.cs b/Assets/UdonSharp/Podium/ChoiceCardGroup.cs similarity index 94% rename from Assets/UdonSharp/ChoiceCardGroup.cs rename to Assets/UdonSharp/Podium/ChoiceCardGroup.cs index 6ca1218..f0c3b4a 100644 --- a/Assets/UdonSharp/ChoiceCardGroup.cs +++ b/Assets/UdonSharp/Podium/ChoiceCardGroup.cs @@ -36,8 +36,6 @@ public class ChoiceCardGroup : UdonSharpBehaviour public void ChoiceCardPickedUp(int ChoiceNumber) { _SelectedChoice = ChoiceNumber; - - Debug.LogError("[[DEBUG]] Choice number is " + ChoiceNumber + "; selected choice is now " + _SelectedChoice); } [NetworkCallable] @@ -59,12 +57,14 @@ public class ChoiceCardGroup : UdonSharpBehaviour ChoiceCard Card = _ChoiceCards[i]; _PCCardAnimator.SetBool("Turn Forward", false); + Card.DisableInteractive = false; if (Card.ChoiceNumber == _SelectedChoice) { if (!Player.IsUserInVR()) { NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)Card, NetworkEventTarget.All, "SetToHeldPosition"); + Card.DisableInteractive = true; } } else @@ -92,6 +92,7 @@ public class ChoiceCardGroup : UdonSharpBehaviour } NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)Card, NetworkEventTarget.All, "SetToHeldPosition"); _PCCardAnimator.SetBool("Turn Forward", true); + Card.DisableInteractive = true; } else { @@ -131,7 +132,7 @@ public class ChoiceCardGroup : UdonSharpBehaviour for (int i = 0; i < _ChoiceCards.Length; i++) { ChoiceCard Card = _ChoiceCards[i]; - if (Card.ChoiceNumber == _SelectedChoice) { continue; } + if (Card.ChoiceNumber == _SelectedChoice) { Card.DisableInteractive = false; continue; } Card.DisableInteractive = true; VRCPickup Pickup = Card.GetComponent(); if (Pickup != null) { Pickup.pickupable = false; } diff --git a/Assets/UdonSharp/ChoiceCardGroup.cs.meta b/Assets/UdonSharp/Podium/ChoiceCardGroup.cs.meta similarity index 100% rename from Assets/UdonSharp/ChoiceCardGroup.cs.meta rename to Assets/UdonSharp/Podium/ChoiceCardGroup.cs.meta diff --git a/Assets/UdonSharp/PlayerPodium.asset b/Assets/UdonSharp/Podium/PlayerPodium.asset similarity index 89% rename from Assets/UdonSharp/PlayerPodium.asset rename to Assets/UdonSharp/Podium/PlayerPodium.asset index 131c7b4..e6885fe 100644 --- a/Assets/UdonSharp/PlayerPodium.asset +++ b/Assets/UdonSharp/Podium/PlayerPodium.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 12 + Data: 13 - Name: Entry: 7 Data: @@ -470,19 +470,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _Buzzer + Data: _RiskCards - Name: $v Entry: 7 Data: 30|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _Buzzer + Data: _RiskCards - Name: k__BackingField Entry: 7 Data: 31|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: Buzzer, Assembly-CSharp + Data: RiskCardGroup, Assembly-CSharp - Name: Entry: 8 Data: @@ -530,25 +530,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _BuzzedInEffect + Data: _Buzzer - Name: $v Entry: 7 Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _BuzzedInEffect + Data: _Buzzer - Name: k__BackingField Entry: 7 Data: 35|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: UnityEngine.GameObject, UnityEngine.CoreModule + Data: Buzzer, Assembly-CSharp - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 35 + Data: 7 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -566,19 +566,10 @@ MonoBehaviour: Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 2 + Data: 1 - Name: Entry: 7 - Data: 37|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - - Name: header - Entry: 1 - Data: Effects - - Name: - Entry: 8 - Data: - - Name: - Entry: 7 - Data: 38|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 37|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -599,19 +590,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _ScorecardObject + Data: _BuzzedInEffect - Name: $v Entry: 7 - Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 38|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _ScorecardObject + Data: _BuzzedInEffect - Name: k__BackingField - Entry: 9 - Data: 35 + Entry: 7 + Data: 39|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.GameObject, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 35 + Data: 39 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -629,10 +626,19 @@ MonoBehaviour: Data: 40|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 1 + Data: 2 - Name: Entry: 7 - Data: 41|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 41|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + - Name: header + Entry: 1 + Data: Effects + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 42|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -653,25 +659,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _NameplateUI + Data: _ScorecardObject - Name: $v Entry: 7 - Data: 42|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _NameplateUI + Data: _ScorecardObject - Name: k__BackingField - Entry: 7 - Data: 43|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 39 - Name: k__BackingField Entry: 9 - Data: 43 + Data: 39 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -713,19 +713,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _ScorecardUI + Data: _NameplateUI - Name: $v Entry: 7 Data: 46|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _ScorecardUI + Data: _NameplateUI - Name: k__BackingField - Entry: 9 - Data: 43 + Entry: 7 + Data: 47|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 43 + Data: 47 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -740,13 +746,67 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 48|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 48|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 49|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: _ScorecardUI + - Name: $v + Entry: 7 + Data: 50|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _ScorecardUI + - Name: k__BackingField + Entry: 9 + Data: 47 + - Name: k__BackingField + Entry: 9 + Data: 47 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - 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|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: diff --git a/Assets/UdonSharp/PlayerPodium.asset.meta b/Assets/UdonSharp/Podium/PlayerPodium.asset.meta similarity index 100% rename from Assets/UdonSharp/PlayerPodium.asset.meta rename to Assets/UdonSharp/Podium/PlayerPodium.asset.meta diff --git a/Assets/UdonSharp/PlayerPodium.cs b/Assets/UdonSharp/Podium/PlayerPodium.cs similarity index 78% rename from Assets/UdonSharp/PlayerPodium.cs rename to Assets/UdonSharp/Podium/PlayerPodium.cs index 29a04d8..02346ed 100644 --- a/Assets/UdonSharp/PlayerPodium.cs +++ b/Assets/UdonSharp/Podium/PlayerPodium.cs @@ -20,6 +20,7 @@ public class PlayerPodium : UdonSharpBehaviour [UdonSynced, FieldChangeCallback(nameof(ShowScoreCard))] private bool _ShowScoreCard = false; [SerializeField] private ChoiceCardGroup _ChoiceCards; + [SerializeField] private RiskCardGroup _RiskCards; [SerializeField] private Buzzer _Buzzer; [Header("Effects")] @@ -46,6 +47,7 @@ public class PlayerPodium : UdonSharpBehaviour Networking.SetOwner(Networking.LocalPlayer, gameObject); Networking.SetOwner(Networking.LocalPlayer, _ChoiceCards.gameObject); + Networking.SetOwner(Networking.LocalPlayer, _RiskCards.gameObject); Networking.SetOwner(Networking.LocalPlayer, _Buzzer.gameObject); PlayerName = Networking.LocalPlayer.displayName; @@ -59,6 +61,7 @@ public class PlayerPodium : UdonSharpBehaviour { Networking.SetOwner(Networking.InstanceOwner, gameObject); Networking.SetOwner(Networking.InstanceOwner, _ChoiceCards.gameObject); + Networking.SetOwner(Networking.InstanceOwner, _RiskCards.gameObject); Networking.SetOwner(Networking.InstanceOwner, _Buzzer.gameObject); PlayerName = "Player " + PlayerNumber; @@ -103,9 +106,9 @@ public class PlayerPodium : UdonSharpBehaviour } [NetworkCallable] - public void IncreaseScoreBy10() + public void AdjustScore(int Adjustment) { - PlayerScore += 10; + PlayerScore += Adjustment; } @@ -141,7 +144,42 @@ public class PlayerPodium : UdonSharpBehaviour { if (_ChoiceCards.GetSelectedChoice() == CorrectResponse) { - IncreaseScoreBy10(); + AdjustScore(10); + } + } + + + [NetworkCallable] + public void EnableRiskCards(bool Enable) + { + _RiskCards.gameObject.SetActive(Enable); + _RiskCards.ResetCards(); + NetworkCalling.SendCustomNetworkEvent( + (IUdonEventReceiver)_RiskCards, + NetworkEventTarget.Owner, + "MakeRiskTextVisible"); + } + + [NetworkCallable] + public void LockInRisk() + { + _RiskCards.LockInChoice(); + NetworkCalling.SendCustomNetworkEvent( + (IUdonEventReceiver)_RiskCards, + NetworkEventTarget.All, + "MakeRiskTextVisible"); + } + + [NetworkCallable] + public void VerifyFinalRoundResponse(int CorrectResponse) + { + if (_ChoiceCards.GetSelectedChoice() == CorrectResponse) + { + AdjustScore(_RiskCards.GetSelectedChoice()); + } + else + { + AdjustScore(-_RiskCards.GetSelectedChoice()); } } diff --git a/Assets/UdonSharp/PlayerPodium.cs.meta b/Assets/UdonSharp/Podium/PlayerPodium.cs.meta similarity index 100% rename from Assets/UdonSharp/PlayerPodium.cs.meta rename to Assets/UdonSharp/Podium/PlayerPodium.cs.meta diff --git a/Assets/UdonSharp/Podium/RiskCard.asset b/Assets/UdonSharp/Podium/RiskCard.asset new file mode 100644 index 0000000..ce7e1e0 --- /dev/null +++ b/Assets/UdonSharp/Podium/RiskCard.asset @@ -0,0 +1,353 @@ +%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: RiskCard + m_EditorClassIdentifier: + serializedUdonProgramAsset: {fileID: 11400000, guid: 8e0a7c5c334a8cc458943f9290dd7903, + type: 2} + udonAssembly: + assemblyError: + sourceCsScript: {fileID: 11500000, guid: 13dcfdcf86a283d43b82280c52b3febd, type: 3} + scriptVersion: 2 + compiledVersion: 2 + behaviourSyncMode: 4 + hasInteractEvent: 1 + scriptID: 26508076278105151 + 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: 5 + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: RiskAmount + - Name: $v + Entry: 7 + Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: RiskAmount + - Name: k__BackingField + Entry: 7 + Data: 3|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Int32, mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 3 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 3 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 5|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: CardGroup + - Name: $v + Entry: 7 + Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: CardGroup + - Name: k__BackingField + Entry: 7 + Data: 7|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: RiskCardGroup, Assembly-CSharp + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 7 + Data: 8|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: VRC.Udon.UdonBehaviour, VRC.Udon + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 9|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 10|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: _RiskCardText + - Name: $v + Entry: 7 + Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _RiskCardText + - Name: k__BackingField + Entry: 7 + Data: 12|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 12 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 13|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 14|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: _SpawnPosition + - Name: $v + Entry: 7 + Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _SpawnPosition + - Name: k__BackingField + Entry: 7 + Data: 16|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Transform, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 16 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 18|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: _HeldPosition + - Name: $v + Entry: 7 + Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _HeldPosition + - Name: k__BackingField + Entry: 9 + Data: 16 + - Name: k__BackingField + Entry: 9 + Data: 16 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 20|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 21|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: + - Name: + Entry: 8 + Data: diff --git a/Assets/UdonSharp/Podium/RiskCard.asset.meta b/Assets/UdonSharp/Podium/RiskCard.asset.meta new file mode 100644 index 0000000..bd8a29b --- /dev/null +++ b/Assets/UdonSharp/Podium/RiskCard.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2b4c49fd5a9bf174486b5139a6c7850c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UdonSharp/Podium/RiskCard.cs b/Assets/UdonSharp/Podium/RiskCard.cs new file mode 100644 index 0000000..78e375a --- /dev/null +++ b/Assets/UdonSharp/Podium/RiskCard.cs @@ -0,0 +1,58 @@ + +using TMPro; +using UdonSharp; +using UnityEngine; +using VRC.SDK3.UdonNetworkCalling; +using VRC.Udon.Common.Interfaces; + + +[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] +public class RiskCard : UdonSharpBehaviour +{ + [UdonSynced] public int RiskAmount = 0; + [SerializeField] private RiskCardGroup CardGroup = null; + + [SerializeField] private TextMeshProUGUI _RiskCardText; + + [SerializeField] private Transform _SpawnPosition; + [SerializeField] private Transform _HeldPosition; + + + void Start() + { + _RiskCardText.text = RiskAmount.ToString(); + } + + public override void OnPickup() + { + NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CardGroup, NetworkEventTarget.All, "RiskCardPickedUp", RiskAmount); + } + + public override void Interact() + { + NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CardGroup, NetworkEventTarget.All, "RiskCardInteract", RiskAmount); + } + + public void SetCardGroup(RiskCardGroup ParentCardGroup) + { + CardGroup = ParentCardGroup; + } + + [NetworkCallable] + public void SetToHeldPosition() + { + transform.SetParent(_HeldPosition, false); + transform.localPosition = Vector3.zero; + transform.localEulerAngles = Vector3.zero; + InteractionText = "Reveal"; + } + + [NetworkCallable] + public void ResetPosition() + { + transform.SetParent(_SpawnPosition, false); + transform.localPosition = Vector3.zero; + transform.localEulerAngles = Vector3.zero; + InteractionText = "Choose"; + } +} diff --git a/Assets/UdonSharp/Podium/RiskCard.cs.meta b/Assets/UdonSharp/Podium/RiskCard.cs.meta new file mode 100644 index 0000000..15ec4b0 --- /dev/null +++ b/Assets/UdonSharp/Podium/RiskCard.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 13dcfdcf86a283d43b82280c52b3febd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UdonSharp/Podium/RiskCardGroup.asset b/Assets/UdonSharp/Podium/RiskCardGroup.asset new file mode 100644 index 0000000..bac54bb --- /dev/null +++ b/Assets/UdonSharp/Podium/RiskCardGroup.asset @@ -0,0 +1,425 @@ +%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: RiskCardGroup + m_EditorClassIdentifier: + serializedUdonProgramAsset: {fileID: 11400000, guid: f06468f049786fc449f3579293521d6d, + type: 2} + udonAssembly: + assemblyError: + sourceCsScript: {fileID: 11500000, guid: e275fba2e540b3141aaca5bcef2d0c43, type: 3} + scriptVersion: 2 + compiledVersion: 2 + behaviourSyncMode: 4 + hasInteractEvent: 0 + scriptID: 6695155412467949124 + 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: 6 + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: _Podium + - Name: $v + Entry: 7 + Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _Podium + - Name: k__BackingField + Entry: 7 + Data: 3|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: PlayerPodium, Assembly-CSharp + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 7 + Data: 4|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: VRC.Udon.UdonBehaviour, VRC.Udon + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: 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: _RiskCards + - Name: $v + Entry: 7 + Data: 7|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _RiskCards + - Name: k__BackingField + Entry: 7 + Data: 8|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: RiskCard[], Assembly-CSharp + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 7 + Data: 9|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Component[], UnityEngine.CoreModule + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 10|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 11|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: _RiskCardText + - Name: $v + Entry: 7 + Data: 12|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _RiskCardText + - Name: k__BackingField + Entry: 7 + Data: 13|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: TMPro.TextMeshProUGUI[], Unity.TextMeshPro + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 13 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + 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: + - 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: _PCCardHeldPosition + - Name: $v + Entry: 7 + Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _PCCardHeldPosition + - Name: k__BackingField + Entry: 7 + Data: 17|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.GameObject, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 17 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 18|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 19|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: _PCCardAnimator + - Name: $v + Entry: 7 + Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _PCCardAnimator + - Name: k__BackingField + Entry: 7 + Data: 21|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Animator, UnityEngine.AnimationModule + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 21 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 23|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: _SelectedRiskAmount + - Name: $v + Entry: 7 + Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _SelectedRiskAmount + - Name: k__BackingField + Entry: 7 + Data: 25|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Int32, mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 25 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 3 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 26|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 27|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: 13 + Data: + - Name: + Entry: 8 + Data: diff --git a/Assets/UdonSharp/Podium/RiskCardGroup.asset.meta b/Assets/UdonSharp/Podium/RiskCardGroup.asset.meta new file mode 100644 index 0000000..6a968f8 --- /dev/null +++ b/Assets/UdonSharp/Podium/RiskCardGroup.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8199bd7fd1968ce44bd65bc349c4df69 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UdonSharp/Podium/RiskCardGroup.cs b/Assets/UdonSharp/Podium/RiskCardGroup.cs new file mode 100644 index 0000000..dd2186d --- /dev/null +++ b/Assets/UdonSharp/Podium/RiskCardGroup.cs @@ -0,0 +1,159 @@ + +using TMPro; +using UdonSharp; +using UnityEngine; +using VRC.SDK3.Components; +using VRC.SDK3.UdonNetworkCalling; +using VRC.SDKBase; +using VRC.Udon.Common.Interfaces; + + +[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] +public class RiskCardGroup : UdonSharpBehaviour +{ + [SerializeField] private PlayerPodium _Podium; + [SerializeField] private RiskCard[] _RiskCards; + [SerializeField] private TextMeshProUGUI[] _RiskCardText; + + [SerializeField] private GameObject _PCCardHeldPosition; + [SerializeField] private Animator _PCCardAnimator; + + [UdonSynced] private int _SelectedRiskAmount = 0; + + + void Start() + { + for (int i = 0; i < _RiskCards.Length; i++) + { + RiskCard Card = _RiskCards[i]; + + Card.SetCardGroup(this); + } + } + + [NetworkCallable] + public void RiskCardPickedUp(int RiskAmount) + { + _SelectedRiskAmount = RiskAmount; + } + + [NetworkCallable] + public void RiskCardInteract(int RiskAmount) + { + if (_SelectedRiskAmount == RiskAmount) + { + RevealChoice(); + return; + } + + _SelectedRiskAmount = RiskAmount; + + VRCPlayerApi Player = Networking.GetOwner(_Podium.gameObject); + Debug.Assert(Player != null); + + for (int i = 0; i < _RiskCards.Length; i++) + { + RiskCard Card = _RiskCards[i]; + + _PCCardAnimator.SetBool("Turn Forward", false); + Card.DisableInteractive = false; + + if (Card.RiskAmount == _SelectedRiskAmount) + { + if (!Player.IsUserInVR()) + { + NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)Card, NetworkEventTarget.All, "SetToHeldPosition"); + Card.DisableInteractive = true; + } + } + else + { + Card.ResetPosition(); + } + } + } + + private void RevealChoice() + { + VRCPlayerApi Player = Networking.GetOwner(_Podium.gameObject); + if (Player != null && !Player.IsUserInVR()) + { + for (int i = 0; i < _RiskCards.Length; i++) + { + RiskCard Card = _RiskCards[i]; + + if (Card.RiskAmount == _SelectedRiskAmount) + { + VRCPickup Pickup = Card.GetComponent(); + if (Pickup != null) + { + Pickup.Drop(); + } + NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)Card, NetworkEventTarget.All, "SetToHeldPosition"); + _PCCardAnimator.SetBool("Turn Forward", true); + Card.DisableInteractive = true; + } + else + { + Card.ResetPosition(); + } + } + } + } + + + public int GetSelectedChoice() + { + return _SelectedRiskAmount; + } + + [NetworkCallable] + public void MakeRiskTextVisible() + { + for (int i = 0; i < _RiskCards.Length && i < _RiskCardText.Length; i++) + { + _RiskCardText[i].gameObject.SetActive(true); + } + } + + public void LockInChoice() + { + for (int i = 0; i < _RiskCards.Length; i++) + { + RiskCard Card = _RiskCards[i]; + if (Card.RiskAmount == _SelectedRiskAmount) { Card.DisableInteractive = false; continue; } + Card.DisableInteractive = true; + VRCPickup Pickup = Card.GetComponent(); + if (Pickup != null) { Pickup.pickupable = false; } + } + } + + public void ResetCards() + { + _SelectedRiskAmount = -1; + + VRCPlayerApi Player = Networking.GetOwner(_Podium.gameObject); + Debug.Assert(Player != null); + + bool IsInVR = Player.IsUserInVR(); + + for (int i = 0; i < _RiskCards.Length; i++) + { + RiskCard Card = _RiskCards[i]; + + Card.ResetPosition(); + _RiskCardText[i].text = ""; + _RiskCardText[i].gameObject.SetActive(false); + + Card.DisableInteractive = IsInVR; + + VRCPickup Pickup = Card.GetComponent(); + if (Pickup != null) + { + Pickup.pickupable = IsInVR; + } + } + + _PCCardAnimator.SetBool("Turn Forward", false); + } +} diff --git a/Assets/UdonSharp/Podium/RiskCardGroup.cs.meta b/Assets/UdonSharp/Podium/RiskCardGroup.cs.meta new file mode 100644 index 0000000..4c7c270 --- /dev/null +++ b/Assets/UdonSharp/Podium/RiskCardGroup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e275fba2e540b3141aaca5bcef2d0c43 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: 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/ClientSimStorage/PlayerData/PlayerData_2_witwics.json b/ClientSimStorage/PlayerData/PlayerData_2_witwics.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/ClientSimStorage/PlayerData/PlayerData_2_witwics.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ClientSimStorage/PlayerData/PlayerData_3_witwics.json b/ClientSimStorage/PlayerData/PlayerData_3_witwics.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/ClientSimStorage/PlayerData/PlayerData_3_witwics.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ClientSimStorage/PlayerData/PlayerData_4_witwics.json b/ClientSimStorage/PlayerData/PlayerData_4_witwics.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/ClientSimStorage/PlayerData/PlayerData_4_witwics.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ClientSimStorage/PlayerObjects/PlayerObject_2_witwics.json b/ClientSimStorage/PlayerObjects/PlayerObject_2_witwics.json new file mode 100644 index 0000000..4eb7c3f --- /dev/null +++ b/ClientSimStorage/PlayerObjects/PlayerObject_2_witwics.json @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/ClientSimStorage/PlayerObjects/PlayerObject_3_witwics.json b/ClientSimStorage/PlayerObjects/PlayerObject_3_witwics.json new file mode 100644 index 0000000..4eb7c3f --- /dev/null +++ b/ClientSimStorage/PlayerObjects/PlayerObject_3_witwics.json @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/ClientSimStorage/PlayerObjects/PlayerObject_4_witwics.json b/ClientSimStorage/PlayerObjects/PlayerObject_4_witwics.json new file mode 100644 index 0000000..4eb7c3f --- /dev/null +++ b/ClientSimStorage/PlayerObjects/PlayerObject_4_witwics.json @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset index d925021..ba6209e 100644 --- a/ProjectSettings/AudioManager.asset +++ b/ProjectSettings/AudioManager.asset @@ -10,8 +10,8 @@ AudioManager: Default Speaker Mode: 2 m_SampleRate: 48000 m_DSPBufferSize: 1024 - m_VirtualVoiceCount: 32 - m_RealVoiceCount: 24 + m_VirtualVoiceCount: 64 + m_RealVoiceCount: 32 m_EnableOutputSuspension: 1 m_SpatializerPlugin: OculusSpatializer m_AmbisonicDecoderPlugin: OculusSpatializer diff --git a/Raw Files/1982 Sony Betacam/source/AnswerCard.blend b/Raw Files/Meshes/AnswerCard.blend similarity index 100% rename from Raw Files/1982 Sony Betacam/source/AnswerCard.blend rename to Raw Files/Meshes/AnswerCard.blend diff --git a/Raw Files/Meshes/RiskCard.blend b/Raw Files/Meshes/RiskCard.blend new file mode 100644 index 0000000000000000000000000000000000000000..7166c5454e91080cc19360db24a5c15ef5a8b0e1 GIT binary patch literal 115271 zcmV)xK$E{HwJ-f(^pCBt0LsP4DpZitQ4atD03ZN>0001h00M}rsF8t@4PH^z90GV1 zjF2Bcny&~r;l6qJX$?@q!Yu&l{|D6f{r>+a?QXK0Z2wQXo9yyUwP@Q;|L|;#*h~}< zWj~1mqym%zH2q=$AUsEUn4E}`8qR?V9xa^adDW@9!2`*WEMan<9wslMq=pkwl7bEA zAO#z~0SY!8NRk{*0SP#q2agPgpoj~%A*AOtEGXeGCO~o)IEXyQMv&L+{P+)sj=!w9 z@f{8W*P)Q{nhcBEUQ(Rq^1FTWeV(x#u5E8)m)p93TQ`@>xm+$B%!=!36u9l@;x`za z({?5f!@b-^b2$vVy`5us-*_BH7z}2!+2(m3jYg>|Jqno<5V(KOAj($#BxCT`C!7K?S?Hw?qBT6R4N20WMDn1zK!mgV&otEw7?VJsGVE|;6< z8GhljthKIdmSs^CU9DC$O~YWY%d(6{qn(9?<+)srrfFAIRThgi&-33G_SNcrS)y&* zx~{ugtydv=EFy2jyfX_~sO8^>{)rY==gX_~g#Y`@)Zuh+|! zrfFH0>$<9@`L=E2IKC{)DwXOy&r~W^*L6#hcU?D^%iZO2on={;Mp2Yy+28kl91i#0 zZg<Uo~6R_lG=!!VqZl5)TS2b@GAt*-by&oB&0l5}17D2ke<`LZl8 z5{Xt;R?;;6YPI?}jwdH4A2DLY4KTofr=+B;q(YO)WHOmR5L8i75k>JN5=lixg#-x_ zB9Uk`8lh0AgCH0Rg~Bj=sZ<(`Mx|0oga{E&NlE$2%F00y{Ae^vrBVlhK%r3RBogU# zIvoT8-DEPUsHmJoBE3{9-DEO-G#Xtb5`8`&*XQ$T;Pd%__<*QE70mkc;UPc{N9R5? z2+)|oeLkNbKzu+VM0oJw^ZC>>jlP-V2?KSbXBsVw11r@}^t9P*qA0%aYqQy4U|?2O zR!Wp8@v^Y3-;JcuVjtd@3dS3A88OISt(RE!>6jiBI=XtK{ z>bfZt>Fmw}9Gs^o2njX372ocZvr!2HAOIeodx+Y_i$K%y?O%jEUB87BVkff){ zhlKFLkM#7&cr@PE-BB#Zkvw{;CX#4Gy4%iw+t=IH4{~INA|}M}3V2}n2PnjFo+V6d zb~>PI`R92K88W1Y9(uSAI_PkaWpz3okH>qhR$C#7j-E)Qk;>gRmS@^ONK%6lB{KBn zC_=+ocW$vZo9)Dj6MuPm5rx2qN`P#*njh)m>3L^1F4%mMBww#rOH0dZYHHr=^=h@6 zs;ax)j%C?#rSx_*&Cu-ha(d8qe3eQ?)3i(`yZQOv1BI-|jC>nBm}Oa+Og5X%KrrQ_ zloBjr_>j?Kg}bghj^e{Glx5kr?H=xa4BktIOMDf$w{6>bo>x$yhok{DaCk7pgeGsv zEFkF6VCs$Q>m*L6!Jm6JxL9vLj*xnXFm@akn*wpuNjOm-HF z#ZtdHIr=#)ujk}u9GrX;H{5EqQk8tT<-Ok^geEsNjNEnI6f$BCyH*xCSO|{nLSVpL zNDfVdn)wpM#Bm(Aw6vt8q`Y3a8$qE74-b+Z9yB@Yx^il~yq#Gtm&+~7yRJLWbB-m4 z2flG|U{KsF%XMAPvZP7j01pq0iXS^p7NL7Uoy0^<{a= zWU{g>N%X4~`&23=%kq8SwCjEAgVC^h*OhOYX_}_&Syp~3l|oT;W@d)R%adDy1XyZ7lRH`&h&+|l~P$wrRC@3hRD9XslfIy(PoyqLu zw|%`{FPf%TtXT1NUDGsuy}kjg8G|G}^kZZi^NzF3YkD7cR=O1VM1O+wpijpU>Cp^=#W_u~=ak zs-z+=h_kB?)R7*?C?RJZaiHV7cxr~g= zVKA5|il%A8FkGwEX0w^iW~!*dj=;W|3F;S(Ui;W$3P;Vt-9tQIaIb zaWqYn#bS{lK>~*l5@0Sc(lg`CNMqsz3KT_Yem-*|P~`Ig zQG;-}5}yG;lppXkOOzO42OpnL0JZp*y$*ul%*;#}hAbA#X0xH7po~T%olX}bM2Hb1 zMt~rQf`S5q;K|8JC=^0LK?#LIAP@)y0)+?>;^%pa5Fr8tLEE-XCevs%B8ftw5D0=P zDJh{)NEF4>=|qwwYDMKDDkMpgL?WS3C{a9}PNh;Ql}e>jDbqAz7%s~a1i@0N6bgkv z5Cnlhp-_k8uIt*iZ4^bEXIXOA6*X#9q?QHik1YyACwZ6xO%*S#3{eBQY0Ksk8 zuz`bv6N|;}`|kC6bzRdmZQHgeiZBeAEfog@R#NJxP{j zRaI42mdkBjZd-5LHWrJ;X!tBI_M#}RPV%u=JxP)(l}Z%FbzNuh>TtWBMx(L3+P^C_ z7KND(_pl0Sa@IFK9KUtsrrw_2^bu6_9M zah*FE1}RPR!ne%1*67n~t<-0$`Ix)<-Kw6e=i65DwN>i(D)p9` z^^+Vg%QB0-o`M-vhP}M_e7*;MvKwh(`voarKhJYsRrjC;?jN|gJ*HmWWHN%`2mS9pm`#qw z^1F9{a(&~lU;PZ;Xv+W(cU{jX`N!#&0M3N-{fWfrujV=fpX=fwVT6AW+xKplOhjW4?MQ^NM-w#-Tn+HG!D@ih0>9G@xxE~b;euD?hR8iL-b~id_m7oGV}tQgJ*`YT>Rxg#|egguU9A&OkCbLUzdXs zt@HAy$`0WY`S0J`a*Zb|i+S)+%5S*wFtvV{Bj(4eKB$a;G#@4Msm`?Na(Wy}F&Z_y zt!K_Y%l{+Wac*{eg$uLiSrFRrtzN)C!toK@^g+(h;B?*Q1Y*PEH-7dh8}K8q%FYM> zEL%s0Z~U59CsX@*H?21AZ2ZKyLpyr}O1bBg^_>@E(z6fr?7{ILd{E!K>pXY**@r~~ zB>Q2OcO&y~IRDTK_bqS3<;`w_{@1FvI6qC-{B-u-xGvp+K0cb`KOpwXT3@qn65H7O z2MUroLT-}p0s68T^D#QB-)CEiU0um7o&Uk?KoaudGkkSe8hV<~r5^Y~>C>E+ zE!O?^pLUER{QCdOv-kVyOE2)Vzj{O)d4tRR4VpB7xb;mx_SXDByAP;R^LUKUZ6-XR z(0uRl((l)pdAB;aSn{FMRS54a;=nE#BM zJ|4{xe?_OBx1DEws=|PJt2qw9rVl`1W`V8Idn(ipD8{*YxO`w0JQ%Qb=F_bY2UHxq zW?wO5bhi-9XZVizXG0x^-T_9p-ImLv0aH1AFCAb=)brC>GyDgTzv$p5WP`0|)YT7B zZ*ceNl+zd!koEWY8Qj40Kf@lh4rC{v3*Vja$`7k1d%)4Xji9>+P~)Qqn6v*=FALA( zaQY%PYj(XOd+P_P;pLY%JHTz$aYz6c9Uzqfq&WHi0O-JS>($e@n_#vF^m%){T>)|V zY`~V=!9AhIu}_D15oW;wmj-BjS0-^EC?@6uPDwILng>vP8I10qbG_ODMGHFoufIU| zw;25OTtIBPK{z1D0HPVrt^onfcCWAYsidC)jt6d#>;XVKL9*l5vrV%`2Z-pfvvGZz z0pIt?cbD@p`}vROu$(9cl%MMA?OgwTzQ8wzHQ?Z;H$8OmY}5gI^|jmY>i3M)fa+~O z>so+ZIa6kCKub4ZV}QCT29Ni8)DvQQ;E;7}WB~vFtfqcHFV4f`IbijA-22HiK<@n$ z^8w}Fu6A0XDVDINxpmB)+O zBVYHb?G6CbeL&CoRr+e)I}q<1Kj1vNa(#_`mw)r)>o(urb$AmQEYKZo|DG(zsV~h2 z(k5z9DsgM3US_6ZKom3N5nai@bh6rg{dJLq_~Hymsn_h5GQjY(v@+-(m^B0Z9k8@7 z&$>b>jC${EAmicFTLT2_1uvm7<=7f<{@*nlP*Rb3!S4AZ8*n`J3&=fzg^s@uJHT~7 zHT41wYuIY&uteSd0e}k#_owsSl7033T$zKWBi@UCC?CLfd`I02yD$Qc^PPbKEtenY z$orQ)0HdQz4V|hD=zJX#z59>lu>EuFKh3>Gl!wz}K=}c@zBu#!oDs^bbM4*rUe9^} zn$rMozEFeT6(J4K69HlXDhzW#d3X{!YwZV4$Z3UyuWtwEPkH?gV7sCJYwm`G2tJrK zQzZl7TgOeG>GHMzPieqGP6IJ}go4MI&zmAg%kR*VUg65J1?WssY~7K-0Mg zNFUFiIp7=&2c#8!YQul-aANQOx;C8<{0Bq(tf!3iABl3n$G)q6-;nF)Oj~+9fW-TX zjYE8MF5CJa)qwuS_4{+T0Tf@<_J6e^?ArgY=UDYQ2LpP<0YWo`?>EO93vBQD8xUbu zV*FO70Rw&?mJSXe@c;)#ylOyHjFitd05Q;%Ez)PcR58qFK-^F}fYb$(E(noBHhC-G zz*T(1@2&&Z?v^M=qcua%OcHz*SfHP3;+pp|u4W7f{sz1}iyK>#OxI|7XMryf?oXhH%>W;v-~id^ z2NcZn_JANR=qmjN_zB~HWaXAEaQB)8ub$WeImmckX*WhY1Hvl}SR=dJ$q#b40P0T} zV6l{i|Eo+ypG>|lXPWz#tO2|md*^r|p$GnPs;e#5b&-_|cgy4MwXHy`;kmo;vHrZ+mE`qKW-{{aZWFut;J_y(YFG9WP-2AJFxE$&b* zH#!DfsR4?-&xfJsDG?t49Be@3CXxBgrfwU_E56t6d4Kzy^qr6FJ@YxClK5N$1Aa!d zPN(rj_mc&oN&N>CVid;@%5QTp0l*J$5-Q{0e-s$7egHZCKgRFRtEH2 z(s>JChk(g|jK8<}>&R0jI{@AR^7;RW_%OSNgjv1g1=9D^(*U2MUT%&~)&6ncHhcMX zR`eP(T9E;o9s}I_vF#^94RHGzN}~ra&0Z&N1$k8yejvR))yp~k7x@~X^BxFu|N0%U zJ60Qh1TnfdH+#T@9X~L#>$R)_I@bXi4$uYTc%{MsBZA;J(y5!-iGdW*0h#`&kvyc z{s%m-B7y75jmc`-AIrLaZLI;=*}Z=0^aF4X;4FOs!QGVCKR48``wQIH%Tfa{^Qix3 z4?rqXilt-Oz;nY65PSdPEkzsf=&yCcx61vM@&M&yHR&SDIbbo2;yg+FqP1eWFu*Gc z+X23zN1NE=Z1fcF2`y{9<(g5A{zQ?WqGXq%91B~|EeZG8K)Xspf z>*|ZF#|oT_oeLNs^fLpf%+RQ(WLvpF`W+BwklAy50AW7pybn+x;9T!SJfLnvt-09# z8*tRGyI)p3U=}*0j_N*$f3<}ZiPm}$R=;|f1nRx~?)@0I@{~gpF@I|h?qi=}`JcNN zwyNLB?>N5QM{@`|=yrC25$M?+fCw6OpUn^dCRok*0G*WF$$smj!5bXppX{9sw##0g z)BX56gup|%Hl(|z=)6RmCZGpLE&(XDFa2N`6g?pTW?O4Y;IcSlqQO*fqa6Tj6x#)v zD0pc==M)fwVB#Q|sar%ZiQ!tXnsgtx7Yv2Ge-V6W2ka(pReUn%9DjIubE^qntXNAL zWVe@WnF3k>R{&K2dW4KA!933mzXOvRApcWR^k}3@Fk+0Zg7EJ;km!c&g@#B>V6k)s zIwK>+DpIlDZnqyH0#q>sYYQ5<3yrY*7xKHqu$W+8Ql`}J---Ay%Hgz-e~rFY6t)Se?$oZw71m5nx>#qO^FRGjwZ~6i7HyM2K;_xvBEG%sropM z;({9a0R`b=o8jwy9H>bs+DR*aQ@27Gv^q2-jm`;__XFR_=Tdm!;#Z}DLaW&5fo`br zsb!NC6w+>y1q>kt(ajDL;ITAIXv`qQ6pKVeM1n*~QIbO146MivZ_W%BjpHfS9WZ4b zMBrPJA*DH2!?dr+U5$9nnN&U;pd4(}D*v5LFWqtTnE&$>7ZPEor!smT44(7-umk>m zyqq|j_U-gur_5Bq9;a|BZP>|KUOZ5B9^I2CMgmJihaBCMF_m*aOr397l)0iY>N?%M z{p9Zv>}Z6k%FCFwV+)U9_zW|$q)S$Jqjnzlho&P__I`;QRB)bq0j<+FVHfxLsM~o( zLp&jW$F888IX1mp-%|+!&kc-a>#MU1$C^FK+mj%N_a8xy8J1~L9QjPYoq^4or{kPi z`^VWy;gNSMg0d7JKvPr23HL^Oan8A`$)93roSq0?GEuYmA*cIXU)&|HiKwDengEFM zeS7-SX2vFSQ5@dyIRAYp569g_d%HKPGpi?w}is73Nr1}oB14_+Gv$jyL( zzW#2wx7~IR&nq*O@QW@p5?GXlQ6T6*E?Ta!Yr}*nH!zVmEn87?Fvi32I}q`#V1ZLa z#KCqUZYz#%4{Sn9WL>r)vr{_cRybFHZHf|=1v}%DvqaVv=Po}%*D&tL3DP8FY5Kn0 z#=3gIyw`@!N1=0~yV3uo3I_Hk<>~CnjyJs)v59~}Ox-`%5@w}KV|YR#RBL35ZtL_X zPLo4t)ylO=IHlk0S8#5VZj|1{tzRx}a2(pA1N%1oC@3si0se11-TS6~=eU{TlPghs ztC;!BL%%^f&PsXdByF`E>zfS6sJ;4}k~Fl6Wo;|<6F$~SgudM8jP=@0<#!#==ZQAe zfmH!0wJ-f(5GZXS0EQcBNbrz29n4p?kvKVUhMJEH#>H7j@G$tLEKU|b!=`txL#u9#sxm8B_pO08{{$I)M4Vt(?Qh z|C=9=XM|m1y|uLC%Qm3VC`|}9a6@y|qN5f4fl)*$(P%cC%@}m(FtbN!lVkjF7BpWL zEsM6^)vJo4t>X-H2Z#b)jWcH+FmGMdD`~wX9W6O}ElPSXddpZDT6;aM18G6|n3*FY zp_yS;#k(vT(sD$sH>{?L2N9ci4V@6}3o(UcvOi8wPA}z$oYnB?YbN zG4j$^q4}a+J`^A>2>QYuE6Lhm{H(tSh&lflNkNgKVl?X8o@&*%o!mXG{t!sfVUsS& zJe&kDW)3N6H5up5uD#TWH#*RjkhuS&X-Ss{rkr5)C~1~rCSCe8`r=gDY3kEYXN-0p z@gZ{Zd9a{fS|T**1Z@YA=pZo!6(>+L3s`ba#o}-7B>-@mJf`TMzGeHJKk(sMe8xmkaBuPgQ2w@lm zLkJ-PLJScSLI@;;AVefMvf=>^u;q}3z84y+M65q_POi7~+ln^Nup;1b=R&U>yJAbB zS_@`nmO{0w_n6cgP%DOASY0SqiL&yz5H`6Sg#R56#Sb;A+Y!v_(+&Y!-IDTeL#E@R zL;6s1*W0Qc3hvG}>sSRbK1px@`1ky6WpRcBhl-De(%OW7w0v3sYy$Qqw?7~mXSSOX z1U~eKS)yAOAr(lgKb+xzGaZBph+#@_akZ`uu!%F{c-tq~rKUZjHQSP~TKhoAD&gPp z*zQyWZwAuYa8@i6kTcVYO(;DJGV$-?1l3OBR^ySRx@zIqmRlHg7~{SE&aXO1rE zt$XbeD2;`@HbX{PSDm9Vh?s*LV2_%cMdN%qx0aZG>42>0f9mOF$ySl zKRB%$uvwFFc?tXPxC{r0S;6udScqMCX{i?q2z7U;uut$4IR7{V&+XJ3XaeT`ax+Q% z&D7!ex!M2Sq-Zb{k4a^?b7%66tk{mw26-nxR({7Ur;jRjDxq_7aSAB4Fa4lI%mVEWy=!;p{JZ77yG9X#5un z|KX*7AX5|nJseHv|4?vnTYfmx50~js_dHv{ZJGby%UVOJSVV!NSVZw;dOD#%(PbZ{ zcGSpKbh4$=sMCpJ)I?JgQd*RrIAKFk6uF8~sI>T5>KL@kZvMyc!%P~KKt_&0S;1|I zKi2u-5J#5fhnqV7Q-}zo6Gip^!WYWP`QO8^94oEhwk$jB0|y7JJyR!ZDHy>{n`1%F zN97E7ImNEV(-A9ES`BnqwFg-7(yk$*GppEQWxi)AR(w>w5G|=0fY8!GC28rXytJIb zo0o{xBVx{VZNJ$5kG}}aHYB98!Xgwey zLOHc!$UMC<e5_O*27x!zf4jwMNGB1W?nGX~{#m zVTS{1T_|p}WZERr(pAT33_zkLXuUD>(38|W6u}8|@=O4<@GEa?1oyypM2L8+!lwoL zhX4#(Nt7Gh6z~l+njIM)$#&?esYFtLU^@ZS1U1IxhZ;y06kaS$}TJ?_TFt>6D-xo;xN zeHB=T2@^0?{=Z3^kXwY3`k5!T5P)%7h@U+2f&WJ(A3H(*Ka*Qh+XnwpH4Ox2^!T27 z295Z6xM-Ie;9_N{$r-E)D6cnhA;KQ zMmHW?P!{)(p$L`=0(x-%zvt_$l{yy9>NeKRo9qF3fqVhX;()(Ma|Nn;mP0@y-+`k@E@{(ah-v&yH1dK&`~Oa0Sr#$EGFTk_tAwB^5}H#4;WkBk+H8>%je}=l6^AA2s7h zN3sHm5(AX%;7vdyitZK$OpgE4q3I{>j0px+|Ifk0AKybzkoW&FIE#YN&-#-cCOc11 zsH@JX4u%Y9dd>`bR0<&1z&kJtcqal__~X_f%AcKS5T$FNz=(Lw|M-5twG<^{UaZ7Thm3Kc16OJ*#ApZpSd$^V;uX#??9(5QTd zSVr-tQe}d&pm>5JT~@@b;Hy~Kk+Nfj1c`Wp|DT_-uCA_mXqNL*cxy$)L~91fNlTSS zDbcnp00k!eHD#5D3Nz+@8X<}-tLxe`bwDizBiw0oEXnz(ltC3#W4=ZGv@yW}rFlg2 z?NR}+w7uydVlp}FZb%R}I;bLgQsTb_pd#2ILfhly%Y+u9Cp94j*vv;lU1bp@9m^qf zI+jD!mRI0CA1KNOAf%;JUeQGwLQu1yE~)gO1Of97Uv*|e)U$P=L~ZM03772vs*Gk0 zTBa<&YK|L+)MW`q00u&6Js|PHiFV7B5?Nc6UG9=Y=yX^?aX$)YF~n>WK~amLMIwZ9 zYDJEDdZS8ByJd<|+2s!E*dosJF5_uxX;^S#E%1{^!vApF7cCaGct`EGqm8|8VEn_0 z1j)FJU-I=o;7%HlM+(b$OhiX+f5Ba#F~}Ul;7Z#V23ML}R;t^UmD&}elY@l2!W}gw}U)b;WiM5VZuU0CYTY3o)i-zWqm;`Df1k zFZ=%o7zY_=d8GWI$60c7xwuV$kTa%G#;l(S80VqqS`@+A-}JGv^q zTx@d7JT@LyuGl2Nzyylx229E!*rN6T4mPye4-!`C(jW z`8IT!=X-`bz!>$fnq`d4W%)?MvPTwPdSIGDKjqxwFuUIX#mQPRl&<8)q2~7Mm zSVP;0H~MEv&}NT~)(w05q7JjORdotZ%w)8ujfL7*FDUVw5i%gcB#`i?%(aTWjzv@8 z8hBlRMXOXPX3AOvxI-V8Y4&PMO+ejfTfnd>G>o})W*LCh0>;lY6(Y{>ABeU3%uc2D z7uF72_UFL+i~6W>t+qe*1Dnxu;CKtvDlB+N=2>-xum=d_%&)mVs zrp=Wt7=iD%@65(D8-+fx)M_=`Gyy}Z>O~Wmy~x!^%GI9+C9;^C3~pZ=J|fWAL&yh9 zeF*z{2;~x9iV0`_=-~qv9zgr}A>7;fkw5}nZUQtu*4LH^qtQx(2!KRDRpQ@BU&MV6UQkMj?fRm0OAyx21{+TtAGTBae zJQ67*Qr3y|tSJsRf&Xz^oln&qyd1XmfLP)KEM5|Ca;PmfrK%P1#toEe#ZIMFuTAQZ zBRi!|xu)2ujjDV}L}FUOjq)B@Ma7_5tk~25ylFPVi&~9Z-BVjeJ+StbMNLKg{X?@< zTUzC9(H{WM0-OXZ2EAslXrTdSMMXtv*{EHEtNPSpO09@$@hrAPNU>J0)@N8XiyezP z^A^MqTCUX_&m7V!*Hb$6nqFOSon9ik>Qp)g#lo@7df(T^KE1@IIc%`3TWbr%2T{ku zrdX}|1@S`<3T$+W&GBXZ185lDq2IrADmM0_$1wXBFTP-6b`&dhCB@8w@iMlEJ#Xw_ zMlB_7`0NbY_WJyg z==7RRpnI8V=!rt(r(46G527};%f4E%PchrRMrq_=#Gd?WXS2{K_Gw3LIhKIkH&WzINGvV+-iWQ>Rfe z+v;WKIfy#X*8v!mtBWht;l=QLabeeL*VVRq;ldqeIecissMD^mTgYQ8*aN(dQLACo znvDqTA3cjP#*;Ouhcw@`$mj=`a(#jV_wg%EYzyS z`;*#HF{lkGbOf_AZ1&4*O0C{owtAimQ2`pZdA!-$QZf5#t>e5sL~QJ|DrQTc@5Suj z#q;&O$X=_~8}`)3^V+{`iQ(8h7V{7H@Apj*sx=IXeP&5nF=H^pk z(1{W!F`55MF5Q&5LN$2Wpg7wU;x>mqsz06@ybNl3F@s<*F75yzH)E#9%-a*0H3eqz zQ_#?ueos$$JnrfBy{zX5Sw>vA7*FA7Ap5eJieto6KNL^JQW|bHZLn=RADaw(ol70p zF?Ixglvdwc;(9%_lE57fkG^(tLHoFOqM`A+x-1Tl?m~Ad>yj7i;_c=364!elTI;$5 z?r?bYrH+}t*D+JQ{ciz}nOewWrd|ih>NpEDc05RSChsy9(Aa@SG&LIh1DgCpUEfew zZ>Ymz5%kf$<^F=!La)moV6slH(X9G)ZXZ|~M8paIunf=l9ZvL#ip+ZAU;tO1${3*~ zgGsm~f$+Lyk_@ioi85MAq?!&%B_=B*OF%i3G}<60c{D*(62z8WG6W1Q$sfH9l0a3$ zBs&N*Nl(bG^lI*&%k}WKV zkxasN$>kFlk|{!HlQYqgB=bjKGD-(A`9vp7QiZT1nF3CjqEZ*ctl~tE&@ejMJz$P- zNO;FCMOP|_(hxux7bMcvj$@kA%Mpd3sblv96d6Rr2#FV2atvYV=qLw*2Qume^vFRo z!x8Cfhf~lS9!~L(5hvp90m{dZ87Z*nAoAZ0%uPX_C>;oLVAi1mmC}fjBTKx$p+6HZ z?LZ`?+Xy46^dZBc|Dvj`rJS%7%y&P{hJ%vw1gN*G1FYjj&4t&POa1xQ5G@r!&8T%TN|_1rH?o>ptF@Bt!p^U%j+O!F38po|9-zLka(cS|A|Y8|3==}xc|(a z&xs)#4k4C#iI|n(Qm|zKap_jVi+GE*5i=(Gf-PfDLj1Cs_>L3ZBytn^+FFM-m?*EQ zWl*cq-5x(iOs>Q$^SwF2U0Yjwq`ao4R-M0YG?y+PQ)UdE8M-nL!j~~4Yy#n$>1XDI zXLwrlybd*nHw@kU;lFe8+)*812D5mxFG5UHSC^))r?LA}kq^M{aCm9yYEQeS(rTEH z$=1@+u}0ExQ7)qT_A!fmzj#6nh)!KD`XRYU7E$$jcxtk;YV?G7LcK0slvzzrX+x`* zJH+v?yVC@;e<$w5JB{}f@Mu~qNOlJ_-sN~5ug1gi^1O}$e|oPKg|a(5uXezeRs)lj zsB|(;*Bn!31Y`gR00ID$7?3cE8rcgTkFENGAwOf<;3Vd^&)>cX zU_s|;^ADeH@c9BOp3l9QcEKJfnUP5ECG8+ZE8GI_;9;QhhA{-DNq1T(=*_e-)9M=1 z7F=`F$xPdDnncAJ?7|vNogLOOsgwha4{)g6^$RUkCf#r8hjZg5}w3uX#Oo z^7i{zrQz}iRUeJ!?5a1PW*Z1po}cY(!edUYz$@?vH?XHlF%Xx|Cg?(X&bK{7P0zJM z?-3-@brRh-;dOT7#s>&*^PpuVG>-JWlF~e`RqxKJvp2T&CJEE&F7EbJSmbhO=z^Ew z#0*Tf>AX7vnkO$XO`e{4T&US~0@%C3!_LMQuDhCv>vTA}KTahghYm5$;|Su~l7Z>l z&hW%It(EqH=|3bME$+L*jhBJRemf{wHgaiNdv9!a73k9+nCzLppWHmyyT|vkIyxid zVeSX_#)JVYEU*oq?JyX~r~Xi|%jV5Ko1flicf;Cl8EPSuDiCIo_5pJt=>OKBu*+v- zXg>UQ@wT?kqIhZG1nmn{nN*5?$?gE(Xpl`!1I6gBn6pB*Ap%4h^V4uXYCOwcjKT6B zI9nVvRpBDHr5h7v=T{3ER+G;9+kfaMM1{GzThSE#-ESb#so3$$;P3 z+L;>~pjQd3Pkg_;kkQp1!vfMgk3G<)oom3#$B%@}u}0AS7(Un$P9nvkZ2Jhuji8(L zc9j%0HD-IUG}9Q>%Q;b+y((Edv0t&)#*{(u)#&Pk4Pd7LBpR2t>|In5fk-&v>0zY^ zGHnpQ2D=KtrmrIFuFr1zd~x07+)p0gEW11Z$w!H0w*yx$Y^Ay<>QlT%9Fb46L&LNX zietTQ=iuh*3XY^y>KtQ>L=1UE5>m#KV__6>o9MLrjb<&r7AybnR5@K2Sb{8#{RQ4L z{`GHw{XOXRohe@SHGl8gr?c}h$nhiN5;N=Ri%iMzV$~CVP%w z8}L3&{0Mo?`nhWypKsrcF?1s)2r^;&Wa-TgplOfZ7$?Q%vL!vebN9C4Fq~gd3~i<9 zshQ5w&kJ3f#X350ipy*+A+mk0sWKoNRff{>CU%pj^=BV$+WiENu4yR4IShO}E17l~ z_VpsS0BBo{PU5<>$@J0mS5~+An{g$iS+Jn8o3me;a~QcepH9wnf0wn=`Iq5BJWp3! z^s-~6w?xqx2&?U=_FzXt%*^y?gEUJ@;am&)ishUcv`lAmy`4SHi1}%kM=GmNWO--}O#ghk(oKh$M=gieDD=3oYlcloZh;XdPsyn|V7I~Cbfos8aU0CsT#m?DLM_bd(9($?D;x#o z1Ofxa!Kmp%Hl|VZQhFMAVfK&5E#4u+2(i^BW=3xay)buc-e<}yIr&U%@31iA*koTG zN^saplRB%@VrY*LF$LRZJ23wfxwG6IQ<~1!<-{&Rv)}Po2Fm^I`4W=oype zFJig2_z;&qwLrn@qIUNKe@DY``DSf$8k&lL;Q#Qfza;*Z)8oS+&B0a=;d1&~(W{Gk zB~Yl<@x1;an)4Vz+^S>?U_MXxnS&J*>HJ+bl||Y2(eq21FLWJpCs!R@M{~Zq{5wHC z_Q+^LG$ifHdRxcJo$N|nkPq(09_a4U0?Y8WwPNPz@PGxw7TCs5oN4?JBj*a!^Kc!m zZiv~Q)B#PmHSC_v;HtR-Mfkzdv02L+yk6zCcWctRC$^mgL-6aaAxhm z@D5V;F}}QMZ6|rz?$WΠ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 z0009e0068b1_0;=002N6003hE0077V0071S0086!003YE006WP006!M008h5005N$ q006)O008(H000o!001@t008(J005Ki001og0RRsG00027>XMJT+&hB+ literal 0 HcmV?d00001 diff --git a/Thry/presets_known_materials.txt b/Thry/presets_known_materials.txt index f44e1a7..8cb795d 100644 --- a/Thry/presets_known_materials.txt +++ b/Thry/presets_known_materials.txt @@ -2,9 +2,9 @@ 9672859a94551274b9079efbf9adc4a9 510c1012ee5eba044b8c4161b150ca93 546833aff35b5494baf89e419b6d7977 -a793cd1d5fe89c440900d816c7b8c323 ff135f18e14d9a94287191652767f722 9ae5e187a5d8f4e4893d37b62cbf0959 +a793cd1d5fe89c440900d816c7b8c323 51b03d257a738e6468f623865f31dbec d93ea6d5213349a4aa01b00d77edba61 8ded9a8136c72af4f901e652f138f9b6 @@ -15,6 +15,7 @@ accd304c49b7d6d43b97738e8e118342 d1244b908a4cccd4397cc9cad45fe846 faae26a849699fc4b804b74882a344df 0c8a5bdda43be2a4e9cdad84677fbb62 +a660809953a52b74cbe6de0f30cbe0c7 8a0236a6fb2773f46b033e383a3f4f55 9cdc0250a4c9b534fae68ae6aa90bf31 341141e903fac3e4ca54a62259c6d01d