diff --git a/Assets/Scenes/PacMan.unity b/Assets/Scenes/PacMan.unity index 24d3f5d..92a148f 100644 --- a/Assets/Scenes/PacMan.unity +++ b/Assets/Scenes/PacMan.unity @@ -4610,6 +4610,7 @@ MonoBehaviour: pressStartButtonScreen: {fileID: 1467061502} playerInput: {fileID: 1311215816} demo: {fileID: 2057800960} + soundManager: {fileID: 723443146} recorder: {fileID: 786035079} startingExtraLives: 3 scoreToExtraLife: 10000 @@ -11246,6 +11247,134 @@ Transform: m_Children: [] m_Father: {fileID: 712073434} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &418715424 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 418715425} + - component: {fileID: 418715426} + m_Layer: 0 + m_Name: Audio Source Ghosts + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &418715425 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 418715424} + serializedVersion: 2 + 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: 723443144} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!82 &418715426 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 418715424} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 1 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 --- !u!4 &424739965 stripped Transform: m_CorrespondingSourceObject: {fileID: 1315692994360949719, guid: 00a825a5aeafee94789192f61cbb3a5a, type: 3} @@ -19560,6 +19689,94 @@ Transform: m_CorrespondingSourceObject: {fileID: 1315692994360949719, guid: 00a825a5aeafee94789192f61cbb3a5a, type: 3} m_PrefabInstance: {fileID: 618146101} m_PrefabAsset: {fileID: 0} +--- !u!1 &723443143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 723443144} + - component: {fileID: 723443146} + - component: {fileID: 723443145} + m_Layer: 0 + m_Name: SoundManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &723443144 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 723443143} + serializedVersion: 2 + 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: + - {fileID: 1747271709} + - {fileID: 418715425} + m_Father: {fileID: 1170168279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &723443145 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 723443143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45115577ef41a5b4ca741ed302693907, type: 3} + m_Name: + m_EditorClassIdentifier: + interactTextPlacement: {fileID: 0} + interactText: Use + interactTextGO: {fileID: 0} + proximity: 2 + SynchronizePosition: 0 + AllowCollisionOwnershipTransfer: 0 + Reliable: 0 + _syncMethod: 1 + serializedProgramAsset: {fileID: 11400000, guid: e48159421a020554fbc039a1c96e3ebd, type: 2} + programSource: {fileID: 11400000, guid: b361bb21778c23b47bce46039e8215df, type: 2} + serializedPublicVariablesBytesString: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgEAAAAAAAAAAi8CAAAAAUkAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgBdAF0ALAAgAFYAUgBDAC4AVQBkAG8AbgAuAEMAbwBtAG0AbwBuAAIAAAAGAgAAAAAAAAAnAQQAAAB0AHkAcABlAAEXAAAAUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwAsACAAbQBzAGMAbwByAGwAaQBiACcBCgAAAFMAeQBtAGIAbwBsAE4AYQBtAGUAAR8AAABfAF8AXwBVAGQAbwBuAFMAaABhAHIAcABCAGUAaABhAHYAaQBvAHUAcgBWAGUAcgBzAGkAbwBuAF8AXwBfACcBBAAAAHQAeQBwAGUAARYAAABTAHkAcwB0AGUAbQAuAEkAbgB0ADMAMgAsACAAbQBzAGMAbwByAGwAaQBiABcBBQAAAFYAYQBsAHUAZQACAAAABwUHBQcF + publicVariablesUnityEngineObjects: [] + publicVariablesSerializationDataFormat: 0 +--- !u!114 &723443146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 723443143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b9538e55a089394e87f14eff80b2eb7, type: 3} + m_Name: + m_EditorClassIdentifier: + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + _udonSharpBackingUdonBehaviour: {fileID: 723443145} + audioSourcePlayer: {fileID: 1747271710} + audioSourceGhosts: {fileID: 418715426} + pacStart: {fileID: 8300000, guid: 785e7b0273a31d944b0494c11d16c6e0, type: 3} + pacDot1: {fileID: 8300000, guid: 849983f9f45501b4a9cceb08a54571af, type: 3} + pacDot2: {fileID: 8300000, guid: fea5136a0bdc133499b59e680f5c98df, type: 3} + pacGhost1: {fileID: 8300000, guid: e2c9d17676b91b94dbc072b2d76090d2, type: 3} --- !u!1001 &725915629 PrefabInstance: m_ObjectHideFlags: 0 @@ -31689,6 +31906,7 @@ Transform: - {fileID: 786035080} - {fileID: 151056553} - {fileID: 934262201} + - {fileID: 723443144} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1173475478 @@ -45849,6 +46067,134 @@ Transform: m_Children: [] m_Father: {fileID: 712073434} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1747271708 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747271709} + - component: {fileID: 1747271710} + m_Layer: 0 + m_Name: Audio Source Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1747271709 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747271708} + serializedVersion: 2 + 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: 723443144} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!82 &1747271710 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747271708} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 1 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 --- !u!1001 &1747317556 PrefabInstance: m_ObjectHideFlags: 0 @@ -45966,6 +46312,7 @@ MonoBehaviour: m_EditorClassIdentifier: spawns: - {fileID: 1749838342} + spawnRadius: 0 spawnOrder: 2 spawnOrientation: 0 ReferenceCamera: {fileID: 0} @@ -46056,10 +46403,6 @@ MonoBehaviour: ID: 10 SerializedTypeNames: - VRC.Udon.UdonBehaviour - - gameObject: {fileID: 0} - ID: 11 - SerializedTypeNames: - - VRC.Udon.UdonBehaviour - gameObject: {fileID: 1696851445} ID: 12 SerializedTypeNames: @@ -46072,14 +46415,6 @@ MonoBehaviour: ID: 14 SerializedTypeNames: - VRC.Udon.UdonBehaviour - - gameObject: {fileID: 0} - ID: 15 - SerializedTypeNames: - - VRC.Udon.UdonBehaviour - - gameObject: {fileID: 0} - ID: 16 - SerializedTypeNames: - - VRC.Udon.UdonBehaviour - gameObject: {fileID: 1311215814} ID: 17 SerializedTypeNames: @@ -46168,10 +46503,6 @@ MonoBehaviour: ID: 38 SerializedTypeNames: - VRC.Udon.UdonBehaviour - - gameObject: {fileID: 1777057122} - ID: 39 - SerializedTypeNames: - - VRC.SDK3.Components.VRCObjectPool - gameObject: {fileID: 1157790585} ID: 40 SerializedTypeNames: @@ -47176,16 +47507,46 @@ MonoBehaviour: ID: 290 SerializedTypeNames: - VRC.Udon.UdonBehaviour - - gameObject: {fileID: 0} - ID: 291 - SerializedTypeNames: - - VRC.Udon.UdonBehaviour - gameObject: {fileID: 1749838339} ID: 292 SerializedTypeNames: - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 573616886} + ID: 293 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 1551317024} + ID: 294 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 46738779} + ID: 295 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 633759679} + ID: 296 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 2063054470} + ID: 297 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 1539035115} + ID: 298 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 1777057122} + ID: 39 + SerializedTypeNames: + - VRC.SDK3.Components.VRCObjectPool + - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 723443143} + ID: 299 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour portraitCameraPositionOffset: {x: 0, y: 0, z: 0} portraitCameraRotationOffset: {x: 0, y: 1, z: 0, w: -0.00000004371139} + PlayerPersistence: [] NavigationAreas: [] --- !u!4 &1749838342 Transform: diff --git a/Assets/Scripts/GameController.cs b/Assets/Scripts/GameController.cs index 2e942e3..c1da569 100644 --- a/Assets/Scripts/GameController.cs +++ b/Assets/Scripts/GameController.cs @@ -1198,6 +1198,7 @@ namespace Marro.PacManUdon InitializeLevel(); RestartLevel(); SetFrozen(true); + soundManager.PlayGameStartSound(); break; case 1: // Show maze, lives indicator, level indicator, player 1 and ready text @@ -1238,6 +1239,7 @@ namespace Marro.PacManUdon break; case 6: // Start game, end sequence + soundManager.StartGhostSound(); SetFrozen(false); break; } @@ -1312,6 +1314,7 @@ namespace Marro.PacManUdon case 4: // Unfreeze SetFrozen(false); + soundManager.StartGhostSound(); break; } } diff --git a/Assets/Scripts/SoundManager.asset b/Assets/Scripts/SoundManager.asset index 3ace4e0..c20fe62 100644 --- a/Assets/Scripts/SoundManager.asset +++ b/Assets/Scripts/SoundManager.asset @@ -43,7 +43,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 4 + Data: 7 - Name: Entry: 7 Data: @@ -109,25 +109,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: pacManDot1 + Data: audioSourceGhosts - Name: $v Entry: 7 Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: pacManDot1 + Data: audioSourceGhosts - Name: k__BackingField - Entry: 7 - Data: 7|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: UnityEngine.AudioClip, UnityEngine.AudioModule - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 3 - Name: k__BackingField Entry: 9 - Data: 7 + Data: 3 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -142,13 +136,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 8|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 7|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 9|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 8|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -169,19 +163,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: pacManDot2 + Data: pacStart - Name: $v Entry: 7 - Data: 10|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 9|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: pacManDot2 + Data: pacStart - Name: k__BackingField - Entry: 9 - Data: 7 + Entry: 7 + Data: 10|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.AudioClip, UnityEngine.AudioModule + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 7 + Data: 10 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -223,19 +223,181 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: nextDotSound + Data: pacDot1 - Name: $v Entry: 7 Data: 13|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: pacDot1 + - 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: 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: pacDot2 + - Name: $v + Entry: 7 + Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: pacDot2 + - 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: 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: pacGhost1 + - Name: $v + Entry: 7 + Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: pacGhost1 + - 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: 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: 7 + Data: + - Name: $k + Entry: 1 + Data: nextDotSound + - Name: $v + Entry: 7 + Data: 22|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: nextDotSound - Name: k__BackingField Entry: 9 - Data: 7 + Data: 10 - Name: k__BackingField Entry: 9 - Data: 7 + Data: 10 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -250,7 +412,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 14|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 23|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 diff --git a/Assets/Scripts/SoundManager.cs b/Assets/Scripts/SoundManager.cs index f2073a3..c34b098 100644 --- a/Assets/Scripts/SoundManager.cs +++ b/Assets/Scripts/SoundManager.cs @@ -7,22 +7,40 @@ using VRC.Udon; public class SoundManager : UdonSharpBehaviour { [SerializeField] private AudioSource audioSourcePlayer; + [SerializeField] private AudioSource audioSourceGhosts; - [SerializeField] private AudioClip pacManDot1; - [SerializeField] private AudioClip pacManDot2; + [SerializeField] private AudioClip pacStart; + [SerializeField] private AudioClip pacDot1; + [SerializeField] private AudioClip pacDot2; + [SerializeField] private AudioClip pacGhost1; private AudioClip nextDotSound; public void Initialize() { - nextDotSound = pacManDot2; + nextDotSound = pacDot2; + } + + public void PlayGameStartSound() + { + PlaySound(audioSourcePlayer, pacStart); } public void PlayPelletSound() { - audioSourcePlayer.clip = nextDotSound; - audioSourcePlayer.Play(); + PlaySound(audioSourcePlayer, nextDotSound); + nextDotSound = nextDotSound == pacDot1 ? pacDot2 : pacDot1; + } - nextDotSound = nextDotSound == pacManDot1 ? pacManDot2 : pacManDot1; + public void StartGhostSound() + { + PlaySound(audioSourceGhosts, pacGhost1, true); + } + + private void PlaySound(AudioSource audioSource, AudioClip audioClip, bool loop = false) + { + audioSource.clip = audioClip; + audioSource.Play(); + audioSource.loop = loop; } } diff --git a/Assets/Sounds/pacdot1.wav.meta b/Assets/Sounds/pacdot1.wav.meta index 7345674..be85481 100644 --- a/Assets/Sounds/pacdot1.wav.meta +++ b/Assets/Sounds/pacdot1.wav.meta @@ -8,14 +8,14 @@ AudioImporter: loadType: 0 sampleRateSetting: 0 sampleRateOverride: 44100 - compressionFormat: 1 + compressionFormat: 0 quality: 1 conversionMode: 0 - preloadAudioData: 0 + preloadAudioData: 1 platformSettingOverrides: {} forceToMono: 0 normalize: 1 - loadInBackground: 0 + loadInBackground: 1 ambisonic: 0 3D: 1 userData: diff --git a/Assets/Sounds/pacdot2.wav.meta b/Assets/Sounds/pacdot2.wav.meta index b6179a1..d469010 100644 --- a/Assets/Sounds/pacdot2.wav.meta +++ b/Assets/Sounds/pacdot2.wav.meta @@ -7,15 +7,15 @@ AudioImporter: serializedVersion: 2 loadType: 0 sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 + sampleRateOverride: 22050 + compressionFormat: 0 quality: 1 conversionMode: 0 - preloadAudioData: 0 + preloadAudioData: 1 platformSettingOverrides: {} forceToMono: 0 normalize: 1 - loadInBackground: 0 + loadInBackground: 1 ambisonic: 0 3D: 1 userData: diff --git a/Assets/Sounds/pacghost1.wav b/Assets/Sounds/pacghost1.wav new file mode 100644 index 0000000..9b5887c Binary files /dev/null and b/Assets/Sounds/pacghost1.wav differ diff --git a/Assets/Sounds/pacghost1.wav.meta b/Assets/Sounds/pacghost1.wav.meta new file mode 100644 index 0000000..cd43979 --- /dev/null +++ b/Assets/Sounds/pacghost1.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e2c9d17676b91b94dbc072b2d76090d2 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 0 + quality: 1 + conversionMode: 0 + preloadAudioData: 1 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 1 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Sounds/pacstart.wav b/Assets/Sounds/pacstart.wav new file mode 100644 index 0000000..26a40be Binary files /dev/null and b/Assets/Sounds/pacstart.wav differ diff --git a/Assets/Sounds/pacstart.wav.meta b/Assets/Sounds/pacstart.wav.meta new file mode 100644 index 0000000..0075f6a --- /dev/null +++ b/Assets/Sounds/pacstart.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 785e7b0273a31d944b0494c11d16c6e0 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: