diff --git a/Assets/Audio/SFX/Thunder HB03_93_03.wav b/Assets/Audio/SFX/Thunder HB03_93_03.wav new file mode 100644 index 0000000..8799555 Binary files /dev/null and b/Assets/Audio/SFX/Thunder HB03_93_03.wav differ diff --git a/Assets/Audio/SFX/Thunder HB03_93_03.wav.meta b/Assets/Audio/SFX/Thunder HB03_93_03.wav.meta new file mode 100644 index 0000000..61970ae --- /dev/null +++ b/Assets/Audio/SFX/Thunder HB03_93_03.wav.meta @@ -0,0 +1,41 @@ +fileFormatVersion: 2 +guid: 2983ffa89947cae4e9ab13f0b4861c0d +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.7 + conversionMode: 0 + preloadAudioData: 1 + platformSettingOverrides: + 4: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.25 + conversionMode: 0 + preloadAudioData: 1 + 7: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.25 + conversionMode: 0 + preloadAudioData: 1 + forceToMono: 1 + normalize: 1 + loadInBackground: 1 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/ClueVideoScreen/M_ClueVideoScreen_Maps.mat b/Assets/Materials/ClueVideoScreen/M_ClueVideoScreen_Maps.mat index 0c5c084..9d11511 100644 --- a/Assets/Materials/ClueVideoScreen/M_ClueVideoScreen_Maps.mat +++ b/Assets/Materials/ClueVideoScreen/M_ClueVideoScreen_Maps.mat @@ -48,7 +48,7 @@ Material: - _MainTex: m_Texture: {fileID: 0} m_Scale: {x: 0.5, y: 0.33333334} - m_Offset: {x: 0.5, y: 0.33333334} + m_Offset: {x: 0, y: 0.6666667} - _MetallicGlossMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} diff --git a/Assets/Prefabs/Player Podium.prefab b/Assets/Prefabs/Player Podium.prefab index 93997ba..7415a22 100644 --- a/Assets/Prefabs/Player Podium.prefab +++ b/Assets/Prefabs/Player Podium.prefab @@ -262,7 +262,7 @@ Transform: m_GameObject: {fileID: 1279709097283225487} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.43709993, y: 1.031, z: -0.202} + m_LocalPosition: {x: 0.333, y: 1.014, z: -0.202} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: diff --git a/Assets/Scenes/witwics.unity b/Assets/Scenes/witwics.unity index 85d3903..6adb24c 100644 --- a/Assets/Scenes/witwics.unity +++ b/Assets/Scenes/witwics.unity @@ -19705,6 +19705,141 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 4362789101225005290} m_PrefabAsset: {fileID: 0} +--- !u!1 &580826684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 580826685} + - component: {fileID: 580826687} + - component: {fileID: 580826686} + m_Layer: 22 + m_Name: Comment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &580826685 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580826684} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 665314707} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 295} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &580826686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580826684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 9672859a94551274b9079efbf9adc4a9, type: 2} + m_sharedMaterial: {fileID: -1369706839575089024, guid: 9672859a94551274b9079efbf9adc4a9, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -50 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 5 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -0.010192516, y: 0.15875247, z: -0.33999637, w: -0.21125786} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &580826687 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580826684} + m_CullTransparentMesh: 1 --- !u!114 &583259441 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 505889460213244370, guid: fac4aa7abd3ecbe44a9eaf7f05275244, @@ -22110,7 +22245,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &665314707 RectTransform: m_ObjectHideFlags: 0 @@ -22124,6 +22259,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1530597308} + - {fileID: 580826685} m_Father: {fileID: 334599374} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -22183,6 +22319,7 @@ MonoBehaviour: ChoiceUI: [] ChoiceButtonImages: [] ChoiceButtons: [] + CommentUI: {fileID: 580826686} --- !u!114 &665314710 MonoBehaviour: m_ObjectHideFlags: 0 @@ -22205,7 +22342,7 @@ MonoBehaviour: m_ChildForceExpandWidth: 1 m_ChildForceExpandHeight: 1 m_ChildControlWidth: 1 - m_ChildControlHeight: 1 + m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 @@ -36078,7 +36215,7 @@ Canvas: m_Enabled: 1 serializedVersion: 3 m_RenderMode: 2 - m_Camera: {fileID: 0} + m_Camera: {fileID: 1069902876} m_PlaneDistance: 100 m_PixelPerfect: 0 m_ReceivesEvents: 1 @@ -48475,10 +48612,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 665314707} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 320, y: -180} - m_SizeDelta: {x: 640, y: 360} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 55} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1530597309 MonoBehaviour: @@ -61356,6 +61493,7 @@ MonoBehaviour: _LeverCartoon: {fileID: 8300000, guid: 42a7290f75e32364099536ce9cb2d75c, type: 3} _Boing: {fileID: 8300000, guid: 760080d45978ef54a9074ef55135cebd, type: 3} _Printer: {fileID: 8300000, guid: 3d202995ebfe8e54ba5b655f501722ff, type: 3} + _Thunder: {fileID: 8300000, guid: 2983ffa89947cae4e9ab13f0b4861c0d, type: 3} _CrookTheme_Contessa: {fileID: 8300000, guid: 82bb08241eeb0cf40a74d97c1e51b444, type: 3} _CrookTheme_DoubleTrouble: {fileID: 8300000, guid: e97b7d3dc5f0bfe46a77d46398bb2bb6, @@ -71601,32 +71739,31 @@ MonoBehaviour: useAssignedLayers: 0 DynamicPrefabs: [] DynamicMaterials: - - {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2} - {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2} - - {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2} - {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2} - - {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2} - - {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2} - - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} - - {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2} - - {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2} - - {fileID: 2100000, guid: a793cd1d5fe89c440900d816c7b8c323, type: 2} - - {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2} - - {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2} - - {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2} - - {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2} - {fileID: 2100000, guid: 80746b095abb6ce41a1c737df3649172, type: 2} - {fileID: 2100000, guid: 71fff76911e92ab43a71d15602da4c4b, type: 2} + - {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2} + - {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2} + - {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2} + - {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2} + - {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2} + - {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2} + - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} + - {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2} + - {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2} + - {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2} + - {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2} + - {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2} + - {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2} + - {fileID: 2100000, guid: a793cd1d5fe89c440900d816c7b8c323, type: 2} - {fileID: 2100000, guid: 8ded9a8136c72af4f901e652f138f9b6, type: 2} - {fileID: 2100000, guid: 81ea0ec5ed826d74fb516bcd6d26bf99, type: 2} - {fileID: 2100000, guid: e3bf0e4e3864c2149b48a821a799c6f4, type: 2} - {fileID: 2100000, guid: bc5888e576e9cb34bab7b7af42d2b63f, type: 2} - {fileID: 2100000, guid: 68c7d547c0d7542429e36f9a891362ec, type: 2} - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 2100000, guid: c5d2a6b0c3904c747b937dd142cbb480, type: 2} - - {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2} - - {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2} - - {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2} + - {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2} - {fileID: 2100000, guid: af0c1cbaaffed304ba0e3a1fbac41e7e, type: 2} - {fileID: 2100000, guid: cc22c7f9de95cab4488b30fe8699a82a, type: 2} - {fileID: 2100000, guid: fe872fb72ad98da4dbb868481468e848, type: 2} diff --git a/Assets/UdonSharp/AudioManager.asset b/Assets/UdonSharp/AudioManager.asset index 4a6f3d9..6428059 100644 --- a/Assets/UdonSharp/AudioManager.asset +++ b/Assets/UdonSharp/AudioManager.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 40 + Data: 41 - Name: Entry: 7 Data: @@ -1610,13 +1610,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_Contessa + Data: _Thunder - Name: $v Entry: 7 Data: 92|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_Contessa + Data: _Thunder - Name: k__BackingField Entry: 9 Data: 10 @@ -1640,28 +1640,10 @@ MonoBehaviour: Data: 93|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 3 + Data: 1 - Name: Entry: 7 - Data: 94|UnityEngine.SpaceAttribute, UnityEngine.CoreModule - - Name: height - Entry: 4 - Data: 8 - - Name: - Entry: 8 - Data: - - Name: - Entry: 7 - Data: 95|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - - Name: header - Entry: 1 - Data: Crook Themes - - Name: - Entry: 8 - Data: - - Name: - Entry: 7 - Data: 96|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 94|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1682,13 +1664,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_DoubleTrouble + Data: _CrookTheme_Contessa - Name: $v Entry: 7 - Data: 97|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 95|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_DoubleTrouble + Data: _CrookTheme_Contessa - Name: k__BackingField Entry: 9 Data: 10 @@ -1709,10 +1691,28 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 98|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 96|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 1 + Data: 3 + - Name: + Entry: 7 + Data: 97|UnityEngine.SpaceAttribute, UnityEngine.CoreModule + - Name: height + Entry: 4 + Data: 8 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 98|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + - Name: header + Entry: 1 + Data: Crook Themes + - Name: + Entry: 8 + Data: - Name: Entry: 7 Data: 99|UnityEngine.SerializeField, UnityEngine.CoreModule @@ -1736,13 +1736,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_EarthaBrute + Data: _CrookTheme_DoubleTrouble - Name: $v Entry: 7 Data: 100|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_EarthaBrute + Data: _CrookTheme_DoubleTrouble - Name: k__BackingField Entry: 9 Data: 10 @@ -1791,13 +1791,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_Kneemoi + Data: _CrookTheme_EarthaBrute - Name: $v Entry: 7 Data: 103|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_Kneemoi + Data: _CrookTheme_EarthaBrute - Name: k__BackingField Entry: 9 Data: 10 @@ -1846,13 +1846,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_PattyLarceny + Data: _CrookTheme_Kneemoi - Name: $v Entry: 7 Data: 106|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_PattyLarceny + Data: _CrookTheme_Kneemoi - Name: k__BackingField Entry: 9 Data: 10 @@ -1901,13 +1901,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_Robocrook + Data: _CrookTheme_PattyLarceny - Name: $v Entry: 7 Data: 109|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_Robocrook + Data: _CrookTheme_PattyLarceny - Name: k__BackingField Entry: 9 Data: 10 @@ -1956,13 +1956,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_SarahNade + Data: _CrookTheme_Robocrook - Name: $v Entry: 7 Data: 112|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_SarahNade + Data: _CrookTheme_Robocrook - Name: k__BackingField Entry: 9 Data: 10 @@ -2011,13 +2011,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_TopGrunge + Data: _CrookTheme_SarahNade - Name: $v Entry: 7 Data: 115|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_TopGrunge + Data: _CrookTheme_SarahNade - Name: k__BackingField Entry: 9 Data: 10 @@ -2066,13 +2066,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_VicTheSlick + Data: _CrookTheme_TopGrunge - Name: $v Entry: 7 Data: 118|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_VicTheSlick + Data: _CrookTheme_TopGrunge - Name: k__BackingField Entry: 9 Data: 10 @@ -2121,13 +2121,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookTheme_WonderRat + Data: _CrookTheme_VicTheSlick - Name: $v Entry: 7 Data: 121|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookTheme_WonderRat + Data: _CrookTheme_VicTheSlick - Name: k__BackingField Entry: 9 Data: 10 @@ -2176,13 +2176,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CrookJailCall_Patty_Africa + Data: _CrookTheme_WonderRat - Name: $v Entry: 7 Data: 124|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CrookJailCall_Patty_Africa + Data: _CrookTheme_WonderRat - Name: k__BackingField Entry: 9 Data: 10 @@ -2205,12 +2205,67 @@ MonoBehaviour: Entry: 7 Data: 125|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 126|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: _CrookJailCall_Patty_Africa + - Name: $v + Entry: 7 + Data: 127|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _CrookJailCall_Patty_Africa + - Name: k__BackingField + Entry: 9 + Data: 10 + - Name: k__BackingField + Entry: 9 + Data: 10 + - 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: 128|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + mscorlib - Name: Entry: 12 Data: 3 - Name: Entry: 7 - Data: 126|UnityEngine.SpaceAttribute, UnityEngine.CoreModule + Data: 129|UnityEngine.SpaceAttribute, UnityEngine.CoreModule - Name: height Entry: 4 Data: 8 @@ -2219,7 +2274,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 127|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + Data: 130|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - Name: header Entry: 1 Data: Crook Jail Calls @@ -2228,7 +2283,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 128|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 131|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -2252,13 +2307,13 @@ MonoBehaviour: Data: _FadeOutMusic - Name: $v Entry: 7 - Data: 129|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 132|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _FadeOutMusic - Name: k__BackingField Entry: 7 - Data: 130|System.RuntimeType, mscorlib + Data: 133|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Boolean, mscorlib @@ -2267,7 +2322,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 130 + Data: 133 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2282,7 +2337,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 131|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 134|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 diff --git a/Assets/UdonSharp/AudioManager.cs b/Assets/UdonSharp/AudioManager.cs index 897adf8..b71acf5 100644 --- a/Assets/UdonSharp/AudioManager.cs +++ b/Assets/UdonSharp/AudioManager.cs @@ -44,7 +44,8 @@ public enum SFXEventType LeverCartoon, Boing, - Printer + Printer, + Thunder } @@ -90,6 +91,7 @@ public class AudioManager : UdonSharpBehaviour [SerializeField] private AudioClip _LeverCartoon = null; [SerializeField] private AudioClip _Boing = null; [SerializeField] private AudioClip _Printer = null; + [SerializeField] private AudioClip _Thunder = null; [Space][Header("Crook Themes")] [SerializeField] private AudioClip _CrookTheme_Contessa = null; @@ -237,6 +239,7 @@ public class AudioManager : UdonSharpBehaviour case SFXEventType.LeverCartoon: _SFXPlayer.clip = _LeverCartoon; break; case SFXEventType.Boing: _SFXPlayer.clip = _Boing; break; case SFXEventType.Printer: _SFXPlayer.clip = _Printer; break; + case SFXEventType.Thunder: _SFXPlayer.clip = _Thunder; break; default: _SFXPlayer.clip = null; break; } diff --git a/Assets/UdonSharp/Game Managers/CaseManager.asset b/Assets/UdonSharp/Game Managers/CaseManager.asset index ea28d9f..f50fb61 100644 --- a/Assets/UdonSharp/Game Managers/CaseManager.asset +++ b/Assets/UdonSharp/Game Managers/CaseManager.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 17 + Data: 18 - Name: Entry: 7 Data: @@ -806,13 +806,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _StolenLoot + Data: _CaseIntroVideoTranscript - Name: $v Entry: 7 Data: 50|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _StolenLoot + Data: _CaseIntroVideoTranscript - Name: k__BackingField Entry: 9 Data: 44 @@ -860,16 +860,70 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _AccusedCrook + Data: _StolenLoot - Name: $v Entry: 7 Data: 53|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _StolenLoot + - Name: k__BackingField + Entry: 9 + Data: 44 + - Name: k__BackingField + Entry: 9 + Data: 44 + - 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: 54|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 55|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: _AccusedCrook + - Name: $v + Entry: 7 + Data: 56|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _AccusedCrook - Name: k__BackingField Entry: 7 - Data: 54|System.RuntimeType, mscorlib + Data: 57|System.RuntimeType, mscorlib - Name: Entry: 1 Data: AccusedCrook, Assembly-CSharp @@ -878,7 +932,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 7 - Data: 55|System.RuntimeType, mscorlib + Data: 58|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Int32, mscorlib @@ -899,13 +953,13 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 56|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 59|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 57|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 60|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -929,13 +983,13 @@ MonoBehaviour: Data: _CurrentWinningPlayers - Name: $v Entry: 7 - Data: 58|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 61|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _CurrentWinningPlayers - Name: k__BackingField Entry: 7 - Data: 59|System.RuntimeType, mscorlib + Data: 62|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.String[], mscorlib @@ -944,7 +998,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 59 + Data: 62 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -959,13 +1013,13 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 60|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 63|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 61|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 64|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -989,13 +1043,13 @@ MonoBehaviour: Data: _CaseFileDictionary - Name: $v Entry: 7 - Data: 62|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 65|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _CaseFileDictionary - Name: k__BackingField Entry: 7 - Data: 63|System.RuntimeType, mscorlib + Data: 66|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VRC.SDK3.Data.DataDictionary, VRCSDK3 @@ -1004,7 +1058,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 63 + Data: 66 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1019,7 +1073,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 64|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 67|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 diff --git a/Assets/UdonSharp/Game Managers/CaseManager.cs b/Assets/UdonSharp/Game Managers/CaseManager.cs index f544add..da41adc 100644 --- a/Assets/UdonSharp/Game Managers/CaseManager.cs +++ b/Assets/UdonSharp/Game Managers/CaseManager.cs @@ -45,6 +45,7 @@ public class CaseManager : UdonSharpBehaviour [UdonSynced] private string _CaseTitle = ""; [UdonSynced] private string _CaseDescription = ""; + [UdonSynced] private string _CaseIntroVideoTranscript = ""; [UdonSynced] private string _StolenLoot = ""; [UdonSynced] private AccusedCrook _AccusedCrook = AccusedCrook.INDEX_MAX; @@ -74,12 +75,13 @@ public class CaseManager : UdonSharpBehaviour { _CaseFileDictionary = JSONResult.DataDictionary; - if (_CaseFileDictionary.ContainsKey("Case Title") && _CaseFileDictionary.ContainsKey("Case Description") && + if (_CaseFileDictionary.ContainsKey("Case Title") && _CaseFileDictionary.ContainsKey("Case Description") && _CaseFileDictionary.ContainsKey("Intro Video Transcript") && _CaseFileDictionary.ContainsKey("Stolen Loot") && _CaseFileDictionary.ContainsKey("Accused Crook")) { - _CaseTitle = _CaseFileDictionary["Case Title"].ToString(); - _CaseDescription = _CaseFileDictionary["Case Description"].ToString(); - _StolenLoot = _CaseFileDictionary["Stolen Loot"].ToString(); + _CaseTitle = _CaseFileDictionary["Case Title"].String; + _CaseDescription = _CaseFileDictionary["Case Description"].String; + _CaseIntroVideoTranscript = _CaseFileDictionary["Intro Video Transcript"].String; + _StolenLoot = _CaseFileDictionary["Stolen Loot"].String; _AccusedCrook = (AccusedCrook)(int)_CaseFileDictionary["Accused Crook"].Number; if (_CaseFileDictionary.ContainsKey("Round 1") && _CaseFileDictionary.ContainsKey("Round 2") && _CaseFileDictionary.ContainsKey("Round 3")) @@ -131,10 +133,14 @@ public class CaseManager : UdonSharpBehaviour ErrorString = "Ensure the first element is a dictionary"; } } + else + { + ErrorString = "JSON failed to parse."; + } if (ErrorString != "") { - Debug.LogError("Malformed case file. " + ErrorString); + Debug.LogError("[CaseManager] Malformed case file. " + ErrorString); } RequestSerialization(); @@ -174,6 +180,10 @@ public class CaseManager : UdonSharpBehaviour { return _CaseDescription; } + public string GetIntroVideoTranscript() + { + return _CaseIntroVideoTranscript; + } public string GetLoot() { return _StolenLoot; diff --git a/Assets/UdonSharp/Game Managers/GameManagerRound1.cs b/Assets/UdonSharp/Game Managers/GameManagerRound1.cs index f6dffad..64ba83d 100644 --- a/Assets/UdonSharp/Game Managers/GameManagerRound1.cs +++ b/Assets/UdonSharp/Game Managers/GameManagerRound1.cs @@ -89,12 +89,14 @@ public class GameManagerRound1 : GameManagerBase if (_QuestionsList.Count == 0) { - Interface.HeaderUI.text = + Interface.HeaderUI.text = "Error loading case file"; + Interface.CommentUI.text = "Unable to find any questions. Ensure the root array elements are all objects."; return; } - Interface.HeaderUI.text = "Case has been loaded."; + Interface.HeaderUI.text = _CaseManager.GetCaseTitle() + " has been loaded."; + Interface.CommentUI.text = _CaseManager.GetCaseDescription(); _GameHasBegun = false; EnableInteraction("Start Game"); @@ -108,6 +110,7 @@ public class GameManagerRound1 : GameManagerBase HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); Interface.HeaderUI.text = "Playing intro video..."; + Interface.CommentUI.text = _CaseManager.GetIntroVideoTranscript(); _VideoPlayer.VideoURL = _CaseManager.GetIntroVideo(); for (int i = 0; i < _PlayerPodiums.Length; i++) @@ -156,13 +159,11 @@ public class GameManagerRound1 : GameManagerBase _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFXAtPitch", SFXEventType.Ding, AudioManager.D6); - ShowBetweenQuestionsInterface(); - DisableChoiceCards(); DisableRiskCards(); DisableBuzzers(); - EnableInteraction("Show First Question"); + ShowBetweenQuestionsInterface(); _GameHasBegun = true; } @@ -182,6 +183,7 @@ public class GameManagerRound1 : GameManagerBase { Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); Interface.HeaderUI.text = "No special presentation available. Continuing on..."; + Interface.CommentUI.text = ""; EnableInteraction("Reveal Question"); return; @@ -204,7 +206,14 @@ public class GameManagerRound1 : GameManagerBase HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); Interface.HeaderUI.text = "Playing video..."; - + if (Presentation.ContainsKey("Video Transcripts")) + { + Interface.CommentUI.text = Presentation["Video Transcripts"].DataList[_QuestionSubstage].String; + } + else + { + Interface.CommentUI.text = ""; + } _VideoPlayer.VideoURL = _CaseManager.GetVideo((int)Videos[_QuestionSubstage].Number); _QuestionSubstage++; @@ -236,10 +245,10 @@ public class GameManagerRound1 : GameManagerBase string Header = "Error Reading Data"; string Clue = "just wing it i guess idk"; - if (Presentation.ContainsKey("Video Artist") && Presentation.ContainsKey("Clue Description")) + if (Presentation.ContainsKey("Video Artist") && Presentation.ContainsKey("Note")) { Header = Presentation["Video Artist"].String; - Clue = Presentation["Clue Description"].String; + Clue = Presentation["Note"].String; } _VideoMusicClueSkateboard.SendCustomNetworkEvent(NetworkEventTarget.All, "SetCardTexts", Header, Clue); @@ -255,6 +264,14 @@ public class GameManagerRound1 : GameManagerBase HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); Interface.HeaderUI.text = "Playing video..."; + if (Presentation.ContainsKey("Video Artist")) + { + Interface.CommentUI.text = "Artist: " + Presentation["Video Artist"].String; + } + else + { + Interface.CommentUI.text = ""; + } DataList Videos = Presentation["Videos"].DataList; _VideoPlayer.VideoURL = _CaseManager.GetVideo((int)Videos[0].Number); @@ -281,13 +298,14 @@ public class GameManagerRound1 : GameManagerBase HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); Interface.HeaderUI.text = "Check the computer for clues that need translating."; + Interface.CommentUI.text = ""; string UntranslatedText = ""; string TranslatedText = ""; - if (Presentation.ContainsKey("Clue Description") && Presentation.ContainsKey("Original Text Placeholder")) + if (Presentation.ContainsKey("Untranslated Text Placeholder") && Presentation.ContainsKey("Translated Text")) { - UntranslatedText = Presentation["Original Text Placeholder"].String; - TranslatedText = Presentation["Clue Description"].String; + UntranslatedText = Presentation["Untranslated Text Placeholder"].String; + TranslatedText = Presentation["Translated Text"].String; } _ACMECrimenetComputer.SendCustomNetworkEvent(NetworkEventTarget.All, @@ -484,6 +502,8 @@ public class GameManagerRound1 : GameManagerBase private void BeginLightningRound() { + _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.Thunder); + HostCardLightningRoundInterface Interface = (HostCardLightningRoundInterface)GetHostCardInterface(RoundSegmentType.LightningRound); @@ -492,7 +512,7 @@ public class GameManagerRound1 : GameManagerBase { Interface.ChoiceUI[i].text = ""; } - Interface.QuestionUI.text = "All of these questions are worth 5 Acme Crimebucks. These questions are all about [[CROOK]]'s most recent whereabouts, which is " + _CurrentQuestion["Location"].ToString() + ". Hands on your buzzers. Here's the first question..."; + Interface.QuestionUI.text = "All of these questions are worth 5 Acme Crimebucks. These questions are all about " + _CaseManager.GetCrookName() + "'s most recent whereabouts, which is " + _CurrentQuestion["Location"].ToString() + ". Hands on your buzzers. Here's the first question..."; EnableBuzzers(); @@ -602,14 +622,14 @@ public class GameManagerRound1 : GameManagerBase private void PlayTheChaseMusic() { - HostCardTheChaseInterface Interface = - (HostCardTheChaseInterface)GetHostCardInterface(RoundSegmentType.TheChase); + HostCardBetweenRoundsInterface Interface = + (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusic", MusicEventType.TheChase); Interface.HeaderUI.text = RoundSegmentTypeToString(RoundSegmentType.TheChase); - Interface.ClueUI.text = "All of these questions are worth 5 Acme Crimebucks. Hands on your buzzers. Listen carefully. Here we go."; + Interface.CommentUI.text = "All of these questions are worth 5 Acme Crimebucks. Hands on your buzzers. Listen carefully. Here we go."; EnableBuzzers(); @@ -635,7 +655,7 @@ public class GameManagerRound1 : GameManagerBase HostCardTheChaseInterface Interface = (HostCardTheChaseInterface)GetHostCardInterface(RoundSegmentType.TheChase); - + Interface.HeaderUI.text = "The Chase" + (_CurrentQuestion.ContainsKey("Location") ? (" | " + _CurrentQuestion["Location"].String) : ""); Interface.ClueUI.text = CurrentClue["Clue"].ToString(); DataList Choices = CurrentClue["Choices"].DataList; @@ -713,12 +733,18 @@ public class GameManagerRound1 : GameManagerBase } - private void BeginFinalRound() + private void IntroduceFinalRound() { HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); - Interface.HeaderUI.text = "Introduce the round here."; + Interface.HeaderUI.text = "The Final Round"; + Interface.CommentUI.text = + "- Now it's time for the final clue of this round, which means you have to decide how many of your ACME Crimebucks you want to risk.\n" + + "- If you're right, we'll add that amount to your score.\n" + + "- If you're not right, we'll subtract that amount from your score.\n" + + "- You can risk 0, 10, 20, 30, 40, or 50 ACME Crimebucks.\n\n" + + "- Choose how much to risk by placing your wager to the other side of your podium."; LoadMapsIntoQueue(); @@ -734,7 +760,12 @@ public class GameManagerRound1 : GameManagerBase HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); - Interface.HeaderUI.text = "Introduce the round here."; + Interface.HeaderUI.text = "Show The Map Preview"; + Interface.CommentUI.text = + "- Here's a portion of the world where we think " + _CaseManager.GetCrookName() + " is headed with " + _CaseManager.GetLoot() + ".\n" + + "- If you think you know a lot about this part of the world, you may want to risk a lot.\n" + + "- If you don't know very much about it, though, you may not want to risk quite so much.\n\n" + + "So, take a look at the map, and think about it."; EnableInteraction("Think About It"); } @@ -744,6 +775,7 @@ public class GameManagerRound1 : GameManagerBase HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); Interface.HeaderUI.text = "Think about it..."; + Interface.CommentUI.text = ""; _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusic", MusicEventType.ThinkAboutIt); @@ -780,7 +812,9 @@ public class GameManagerRound1 : GameManagerBase _PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.All, "LockInRisk"); } - EnableInteraction("Present Clues"); + ShowBetweenQuestionsInterface(); + + CreateClueSpecificHostInteractionText(_CurrentQuestion["Presentation"].DataDictionary); } private void FinalRoundRevealChoices() @@ -921,6 +955,9 @@ public class GameManagerRound1 : GameManagerBase (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); Interface.HeaderUI.text = "Player: " + _PlayerPodiums[PlayerNumber - 1].PlayerName; + Interface.CommentUI.text = + "- Before you show us your answer, how much did you risk?\n" + + "- What is your answer?"; _PlayerPodiums[PlayerNumber - 1].EnableBuzzInEffect(true); EnableInteraction("Assign Points"); @@ -975,11 +1012,15 @@ public class GameManagerRound1 : GameManagerBase { if (SortedPlayerScores[0] == SortedPlayerScores[1]) { - Interface.HeaderUI.text = "We have a three-way tie. We'll start with a tiebreaker between " + Number2.displayName + " and " + Number3.displayName + "."; + Interface.HeaderUI.text = "We have a three-way tie."; + Interface.CommentUI.text = "We'll start with a tiebreaker between " + Number2.displayName + " and " + Number3.displayName + "."; } else { - Interface.HeaderUI.text = Number1.displayName + " is in first place and will be moving on to the next round. There is a tie for second place between " + Number2.displayName + " and " + Number3.displayName + ", so we will move on to a tiebreaker."; + Interface.HeaderUI.text = Number1.displayName + " is in first place"; + Interface.CommentUI.text = + "- " + Number1.displayName + " will be moving on to the next round.\n" + + "- There is a tie for second place between " + Number2.displayName + " and " + Number3.displayName + ", so we will move on to a tiebreaker."; } TiebreakerNeeded = true; PrepareTiebreakerRound(Number2Podium.PlayerNumber, Number3Podium.PlayerNumber); @@ -1046,9 +1087,18 @@ public class GameManagerRound1 : GameManagerBase private void PrepareNextQuestion() { InitialiseQuestion(); - ShowBetweenQuestionsInterface(); - - EnableInteraction("Show Next Question"); + if (_CurrentQuestionType == RoundSegmentType.FinalRound) + { + HostCardBetweenRoundsInterface Interface = + (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); + Interface.HeaderUI.text = "The Final Round"; + Interface.CommentUI.text = ""; + AdvanceQuestion(); + } + else + { + ShowBetweenQuestionsInterface(); + } } private void PrepareEndGame() { @@ -1063,7 +1113,8 @@ public class GameManagerRound1 : GameManagerBase { HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); - Interface.HeaderUI.text = "Round is over. Move to the loot recovery area."; + Interface.HeaderUI.text = "Round is over."; + Interface.CommentUI.text = "Move to the loot recovery area."; _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusicLoop", MusicEventType.CapitalLoop); @@ -1075,7 +1126,7 @@ public class GameManagerRound1 : GameManagerBase _CaseManager.ContinueToRound2(); - EnableInteraction("End Game"); + EnableInteraction("Advance To Round 2"); } } @@ -1085,6 +1136,7 @@ public class GameManagerRound1 : GameManagerBase HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); Interface.HeaderUI.text = "Preparing tiebreaker..."; + Interface.CommentUI.text = ""; VRCStringDownloader.LoadUrl(_TiebreakerData, (IUdonEventReceiver)this); } @@ -1423,7 +1475,7 @@ public class GameManagerRound1 : GameManagerBase { switch (_QuestionStage) { - case 1: BeginFinalRound(); break; + case 1: IntroduceFinalRound(); break; case 2: FinalRoundShowMapPreview(); break; case 3: FinalRoundPlayThinkingMusic(); break; case 4: InitialiseCluePresentation(); break; @@ -1478,11 +1530,27 @@ public class GameManagerRound1 : GameManagerBase return _HostCard.EnableHostCardDisplay(RoundType.LocateTheCrook, Question); } + private void CreateClueSpecificHostInteractionText(DataDictionary Presentation) + { + switch ((PresentationMedium)(int)Presentation["Medium"].Number) + { + case PresentationMedium.VideoClue: + case PresentationMedium.VideoMusicClue: + EnableInteraction("Play Video"); break; + case PresentationMedium.ACMECrimenetComputer: + EnableInteraction("ACME Crimenet Computer"); break; + default: + EnableInteraction("Present Next Clue"); break; + } + } + private HostCardBetweenRoundsInterface ShowBetweenQuestionsInterface() { HostCardBetweenRoundsInterface Interface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); + Interface.CommentUI.text = ""; + string PresentationMediumString = ""; if (_CurrentQuestion.ContainsKey("Presentation")) { @@ -1496,12 +1564,31 @@ public class GameManagerRound1 : GameManagerBase { PresentationMediumString = PresentationMediumToString((PresentationMedium)(int)Presentation["Medium"].Number); } + + if (_CurrentQuestionType == RoundSegmentType.FinalRound) + { + EnableInteraction("Introduce Final Round"); + } + else + { + CreateClueSpecificHostInteractionText(Presentation); + } + + if (Presentation.ContainsKey("Clue Description")) + { + Interface.CommentUI.text = Presentation["Clue Description"].String; + } } else { PresentationMediumString = RoundSegmentTypeToString(_CurrentQuestionType); + EnableInteraction("Begin " + PresentationMediumString); + if (_CurrentQuestion.ContainsKey("Clue Description")) + { + Interface.CommentUI.text = _CurrentQuestion["Clue Description"].String; + } } - + Interface.HeaderUI.text = "Upcoming Question: " + PresentationMediumString; return Interface; diff --git a/Assets/UdonSharp/Host Card Interfaces/HostCardBetweenRoundsInterface.asset b/Assets/UdonSharp/Host Card Interfaces/HostCardBetweenRoundsInterface.asset index 525189e..4004c5b 100644 --- a/Assets/UdonSharp/Host Card Interfaces/HostCardBetweenRoundsInterface.asset +++ b/Assets/UdonSharp/Host Card Interfaces/HostCardBetweenRoundsInterface.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 4 + Data: 5 - Name: Entry: 7 Data: @@ -261,6 +261,54 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: CommentUI + - Name: $v + Entry: 7 + Data: 14|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: CommentUI + - Name: k__BackingField + Entry: 9 + Data: 3 + - Name: k__BackingField + Entry: 9 + Data: 3 + - 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: 15|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 8 + Data: - Name: Entry: 13 Data: diff --git a/Assets/UdonSharp/Host Card Interfaces/HostCardBetweenRoundsInterface.cs b/Assets/UdonSharp/Host Card Interfaces/HostCardBetweenRoundsInterface.cs index 898009d..74e0747 100644 --- a/Assets/UdonSharp/Host Card Interfaces/HostCardBetweenRoundsInterface.cs +++ b/Assets/UdonSharp/Host Card Interfaces/HostCardBetweenRoundsInterface.cs @@ -1,4 +1,5 @@  +using TMPro; using UdonSharp; using UnityEngine; using VRC.SDKBase; @@ -8,4 +9,5 @@ using VRC.Udon; [UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] public class HostCardBetweenRoundsInterface : HostCardInterfaceBase { + public TextMeshProUGUI CommentUI; } 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/Credits And License Requirements.txt b/Credits And License Requirements.txt index ea2f8b7..3d161fd 100644 --- a/Credits And License Requirements.txt +++ b/Credits And License Requirements.txt @@ -4,8 +4,9 @@ - ImagesWriter II Power-On Sound by jewettg -- https://freesound.org/s/662715/ -- License: Creative Commons 0 - Hannah Barbera Sound Effects Library - - Disc 1 - Boing Cartoon 14-15 -- - Disc 1 - Lever Cartoon 67-1 +- - Disc 1 - Lever Cartoon 67-01 - - Disc 3 - Electronic 16-02 +- - Disc 3 - Thunder 93-03 - Hollywood Edge Super Single Vol. 1 - - Fog Horn 1 diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset index ba6209e..d925021 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: 64 - m_RealVoiceCount: 32 + m_VirtualVoiceCount: 32 + m_RealVoiceCount: 24 m_EnableOutputSuspension: 1 m_SpatializerPlugin: OculusSpatializer m_AmbisonicDecoderPlugin: OculusSpatializer