Added sound stuff

This commit is contained in:
2025-12-10 22:07:58 +01:00
parent 81a45f1f1f
commit 3bc12a719b
10 changed files with 647 additions and 57 deletions

View File

@@ -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;
}
}

View File

@@ -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: <Name>k__BackingField
Entry: 1
Data: pacManDot1
Data: audioSourceGhosts
- Name: <UserType>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: <SystemType>k__BackingField
Entry: 9
Data: 7
Data: 3
- Name: <SyncMode>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: <Name>k__BackingField
Entry: 1
Data: pacManDot2
Data: pacStart
- Name: <UserType>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: <SystemType>k__BackingField
Entry: 9
Data: 7
Data: 10
- Name: <SyncMode>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: <Name>k__BackingField
Entry: 1
Data: pacDot1
- Name: <UserType>k__BackingField
Entry: 9
Data: 10
- Name: <SystemType>k__BackingField
Entry: 9
Data: 10
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 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: <Name>k__BackingField
Entry: 1
Data: pacDot2
- Name: <UserType>k__BackingField
Entry: 9
Data: 10
- Name: <SystemType>k__BackingField
Entry: 9
Data: 10
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 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: <Name>k__BackingField
Entry: 1
Data: pacGhost1
- Name: <UserType>k__BackingField
Entry: 9
Data: 10
- Name: <SystemType>k__BackingField
Entry: 9
Data: 10
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 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: <Name>k__BackingField
Entry: 1
Data: nextDotSound
- Name: <UserType>k__BackingField
Entry: 9
Data: 7
Data: 10
- Name: <SystemType>k__BackingField
Entry: 9
Data: 7
Data: 10
- Name: <SyncMode>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

View File

@@ -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;
}
}