This commit is contained in:
2025-12-11 22:43:40 +01:00
parent 75b9459157
commit 3bc8db347d
13 changed files with 609 additions and 27 deletions

View File

@@ -2356,7 +2356,7 @@ GameObject:
m_Component:
- component: {fileID: 106401850}
m_Layer: 0
m_Name: General Improvements
m_Name: Bugs
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -2376,6 +2376,9 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 339867315}
- {fileID: 211342679}
- {fileID: 1483874449}
- {fileID: 1980948889}
m_Father: {fileID: 1886023632}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &107806787
@@ -5286,6 +5289,37 @@ Transform:
m_CorrespondingSourceObject: {fileID: 1315692994360949719, guid: 00a825a5aeafee94789192f61cbb3a5a, type: 3}
m_PrefabInstance: {fileID: 1989589316}
m_PrefabAsset: {fileID: 0}
--- !u!1 &211342678
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 211342679}
m_Layer: 0
m_Name: Return sound does not end
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &211342679
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 211342678}
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: 106401850}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &213614170
GameObject:
m_ObjectHideFlags: 0
@@ -19776,7 +19810,13 @@ MonoBehaviour:
pacStart: {fileID: 8300000, guid: 785e7b0273a31d944b0494c11d16c6e0, type: 3}
pacDot1: {fileID: 8300000, guid: 849983f9f45501b4a9cceb08a54571af, type: 3}
pacDot2: {fileID: 8300000, guid: fea5136a0bdc133499b59e680f5c98df, type: 3}
pacDie1: {fileID: 8300000, guid: 0392b3961b71caa4fa91c839f217d867, type: 3}
pacFruit: {fileID: 8300000, guid: 38b046b5cc294fe498cf3e0bd6682f98, type: 3}
pacCoin: {fileID: 8300000, guid: 77fe0b5680863514e8dadf65bbdae1ba, type: 3}
pacGhostEat: {fileID: 8300000, guid: b4d0f00ea7f448140b701a2cd61719f2, type: 3}
pacGhost1: {fileID: 8300000, guid: e2c9d17676b91b94dbc072b2d76090d2, type: 3}
pacGhostBlue: {fileID: 8300000, guid: 614583c8ee1ca744c942497b41bb917d, type: 3}
pacGhostRetreat: {fileID: 8300000, guid: 4c9f001814f4c8145a67b384905031b0, type: 3}
--- !u!1001 &725915629
PrefabInstance:
m_ObjectHideFlags: 0
@@ -39750,6 +39790,37 @@ Transform:
m_CorrespondingSourceObject: {fileID: 1315692994360949719, guid: 00a825a5aeafee94789192f61cbb3a5a, type: 3}
m_PrefabInstance: {fileID: 654135149}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1483874448
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1483874449}
m_Layer: 0
m_Name: Blinky speed stays on demo
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1483874449
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1483874448}
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: 106401850}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1485745523 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4099390335584803315, guid: 00a825a5aeafee94789192f61cbb3a5a, type: 3}
@@ -41046,7 +41117,7 @@ MonoBehaviour:
label1UPText: {fileID: 968783086}
score1UPText: {fileID: 254787490}
labelHighScoreText: {fileID: 73410383}
scoreHighScoreText: {fileID: 73410383}
scoreHighScoreText: {fileID: 2048252611}
debugText: {fileID: 1114020677}
debugText2: {fileID: 146126538}
gameOverText: {fileID: 1200105220}
@@ -53088,6 +53159,37 @@ Transform:
m_Children: []
m_Father: {fileID: 712073434}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1980948888
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1980948889}
m_Layer: 0
m_Name: Death sound plays on demo
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1980948889
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1980948888}
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: 106401850}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1981441952 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4099390335584803315, guid: 00a825a5aeafee94789192f61cbb3a5a, type: 3}

View File

@@ -121,9 +121,7 @@ namespace Marro.PacManUdon
private void StartAttractMode()
{
#if RECORDING_DEMO
attractScreen.Initialize();
// recorder.gameObject.SetActive(true);
gameState = PacManGameState.AttractMode;
StartTimeSequence(PacManTimeSequence.AttractScreenIntroduction);
#else
SetGameState(PacManGameState.AttractMode);
@@ -170,6 +168,7 @@ namespace Marro.PacManUdon
ghostManager.Reset();
pacMan.Reset();
bonusFruit.Despawn();
soundManager.Reset();
pelletManager.SetPowerPelletsBlink(false);
}
@@ -204,12 +203,14 @@ namespace Marro.PacManUdon
AddScore(50);
ghostManager.SetPowerPellet(true);
pacMan.SetPowerPellet(true);
soundManager.StartGhostSound(true);
}
public void EndPowerPellet()
{
ghostManager.SetPowerPellet(false);
pacMan.SetPowerPellet(false);
soundManager.StartGhostSound(false);
}
public void GotFruit()
@@ -236,6 +237,11 @@ namespace Marro.PacManUdon
StartTimeSequence(PacManTimeSequence.PacManCaught);
}
public void NoGhostsRetreating()
{
soundManager.EndGhostRetreat();
}
void BoardClearAnimation()
{
ghostManager.gameObject.SetActive(false);
@@ -614,7 +620,7 @@ namespace Marro.PacManUdon
case PacManTimeSequence.GhostCaught:
return DeltaToAbsolute(new float[] { 0, 0.91667f });
case PacManTimeSequence.PacManCaught:
return DeltaToAbsolute(new float[] { 0, 1, 2.65f, 2f });
return DeltaToAbsolute(new float[] { 0, 1, 0.35f, 2.40f, 2f });
case PacManTimeSequence.RestartLevel:
return DeltaToAbsolute(new float[] { 0, 0.016f, 0.064f, 0.032f, 1.85f, 0.016f });
case PacManTimeSequence.GameOver:
@@ -644,7 +650,10 @@ namespace Marro.PacManUdon
{
case 0:
SetGameState(PacManGameState.AttractMode);
// Initialize
soundManager.SuppressSound(true);
RestartLevel();
HideEverything();
SetFrozen(true);
attractScreen.gameObject.SetActive(true);
@@ -1157,6 +1166,7 @@ namespace Marro.PacManUdon
case 0:
SetGameState(PacManGameState.WaitForStart);
HideEverything();
soundManager.SuppressSound(false);
soundManager.PlayCoinSound();
break;
case 1:
@@ -1200,6 +1210,7 @@ namespace Marro.PacManUdon
InitializeLevel();
RestartLevel();
SetFrozen(true);
soundManager.SuppressSound(false);
soundManager.PlayGameStartSound();
break;
case 1:
@@ -1241,7 +1252,7 @@ namespace Marro.PacManUdon
break;
case 6:
// Start game, end sequence
soundManager.StartGhostSound();
soundManager.StartGhostSound(false);
SetFrozen(false);
break;
}
@@ -1317,7 +1328,7 @@ namespace Marro.PacManUdon
case 4:
// Unfreeze
SetFrozen(false);
soundManager.StartGhostSound();
soundManager.StartGhostSound(false);
break;
}
}
@@ -1337,6 +1348,7 @@ namespace Marro.PacManUdon
SetPacManActive(true);
SetFrozen(false);
ghostManager.GhostCaughtContinue();
soundManager.StartGhostRetreat();
break;
}
}
@@ -1356,6 +1368,10 @@ namespace Marro.PacManUdon
pacMan.SetDead(true);
break;
case 2:
// Start playing death sound
soundManager.PlayDeathSound();
break;
case 3:
// Hide pacman, start next state
SetPacManActive(false);
if (gameState == PacManGameState.AttractModeDemo)
@@ -1370,7 +1386,7 @@ namespace Marro.PacManUdon
InsertTimeSequence(PacManTimeSequence.GameOver);
break;
case 3:
case 4:
if (gameState == PacManGameState.AttractModeDemo)
{
#if RECORDING_DEMO
@@ -1414,7 +1430,7 @@ namespace Marro.PacManUdon
case 5:
// Unfreeze
SetFrozen(false);
soundManager.StartGhostSound();
soundManager.StartGhostSound(false);
break;
}
}

View File

@@ -362,6 +362,7 @@ namespace Marro.PacManUdon
case PacManGhostState.Entering:
offGrid = true;
SetState(PacManGhostState.Home);
ghostManager.GhostReturned();
if (!target.Equals(idlePosition1))
{ // This is idlePosition1 if PacManGhostStartState == TargetingIdlePosition1
SetOffGridTarget(idlePosition2, false);

View File

@@ -224,6 +224,20 @@
gameController.PacManCaught();
}
public void GhostReturned()
{
foreach (var ghost in ghosts)
{
var state = ghost.GetGhostState();
if (state == PacManGhostState.CaughtScore || state == PacManGhostState.Returning || state == PacManGhostState.Entering)
{
return;
}
}
gameController.NoGhostsRetreating();
}
void SetGhostBlinking(bool blinking)
{
blinkingActivated = blinking;

View File

@@ -43,7 +43,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 10
Data: 16
- Name:
Entry: 7
Data:
@@ -331,13 +331,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: pacFruit
Data: pacDie1
- Name: $v
Entry: 7
Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: pacFruit
Data: pacDie1
- Name: <UserType>k__BackingField
Entry: 9
Data: 10
@@ -385,13 +385,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: pacCoin
Data: pacFruit
- Name: $v
Entry: 7
Data: 22|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: pacCoin
Data: pacFruit
- Name: <UserType>k__BackingField
Entry: 9
Data: 10
@@ -439,13 +439,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: pacGhostEat
Data: pacCoin
- Name: $v
Entry: 7
Data: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: pacGhostEat
Data: pacCoin
- Name: <UserType>k__BackingField
Entry: 9
Data: 10
@@ -493,13 +493,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: pacGhost1
Data: pacGhostEat
- Name: $v
Entry: 7
Data: 28|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: pacGhost1
Data: pacGhostEat
- Name: <UserType>k__BackingField
Entry: 9
Data: 10
@@ -547,13 +547,175 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: nextDotSound
Data: pacGhost1
- Name: $v
Entry: 7
Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: nextDotSound
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: 32|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 33|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: pacGhostBlue
- Name: $v
Entry: 7
Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: pacGhostBlue
- 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: 35|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 36|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: pacGhostRetreat
- Name: $v
Entry: 7
Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: pacGhostRetreat
- 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: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 39|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: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _nextDotSound
- Name: <UserType>k__BackingField
Entry: 9
Data: 10
@@ -574,7 +736,157 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 32|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 41|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: 7
Data:
- Name: $k
Entry: 1
Data: _isRetreating
- Name: $v
Entry: 7
Data: 42|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _isRetreating
- Name: <UserType>k__BackingField
Entry: 7
Data: 43|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 43
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 44|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: 7
Data:
- Name: $k
Entry: 1
Data: _isBlue
- Name: $v
Entry: 7
Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _isBlue
- Name: <UserType>k__BackingField
Entry: 9
Data: 43
- Name: <SystemType>k__BackingField
Entry: 9
Data: 43
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 46|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: 7
Data:
- Name: $k
Entry: 1
Data: _suppress
- Name: $v
Entry: 7
Data: 47|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _suppress
- Name: <UserType>k__BackingField
Entry: 9
Data: 43
- Name: <SystemType>k__BackingField
Entry: 9
Data: 43
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 48|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0

View File

@@ -12,16 +12,41 @@ public class SoundManager : UdonSharpBehaviour
[SerializeField] private AudioClip pacStart;
[SerializeField] private AudioClip pacDot1;
[SerializeField] private AudioClip pacDot2;
[SerializeField] private AudioClip pacDie1;
[SerializeField] private AudioClip pacFruit;
[SerializeField] private AudioClip pacCoin;
[SerializeField] private AudioClip pacGhostEat;
[SerializeField] private AudioClip pacGhost1;
[SerializeField] private AudioClip pacGhostBlue;
[SerializeField] private AudioClip pacGhostRetreat;
private AudioClip nextDotSound;
private AudioClip _nextDotSound;
private bool _isRetreating;
private bool _isBlue;
private bool _suppress;
public void Initialize()
{
nextDotSound = pacDot2;
Reset();
}
public void Reset()
{
_nextDotSound = pacDot2;
_isRetreating = false;
_isBlue = false;
_suppress = false;
}
public void SuppressSound(bool suppress)
{
_suppress = suppress;
if (suppress)
{
StopAllSound();
}
}
public void PlayGameStartSound()
@@ -31,8 +56,13 @@ public class SoundManager : UdonSharpBehaviour
public void PlayPelletSound()
{
PlaySound(audioSourcePlayer, nextDotSound);
nextDotSound = nextDotSound == pacDot1 ? pacDot2 : pacDot1;
PlaySound(audioSourcePlayer, _nextDotSound);
_nextDotSound = _nextDotSound == pacDot1 ? pacDot2 : pacDot1;
}
public void PlayDeathSound()
{
PlaySound(audioSourcePlayer, pacDie1);
}
public void PlayFruitSound()
@@ -50,9 +80,36 @@ public class SoundManager : UdonSharpBehaviour
PlaySound(audioSourcePlayer, pacGhostEat);
}
public void StartGhostSound()
public void StartGhostSound(bool isBlue)
{
PlaySound(audioSourceGhosts, pacGhost1, true);
_isBlue = isBlue;
if (_isRetreating)
{
// Retreating overrides other ghost sound
return;
}
var sound = _isBlue ? pacGhostBlue : pacGhost1;
PlaySound(audioSourceGhosts, sound, true);
}
public void StartGhostRetreat()
{
_isRetreating = true;
PlaySound(audioSourceGhosts, pacGhostRetreat, true);
}
public void EndGhostRetreat()
{
if (!_isRetreating)
{
return;
}
_isRetreating = false;
StartGhostSound(_isBlue);
}
public void StopAllSound()
@@ -63,6 +120,17 @@ public class SoundManager : UdonSharpBehaviour
private void PlaySound(AudioSource audioSource, AudioClip audioClip, bool loop = false)
{
if (_suppress)
{
return;
}
if (loop && audioSource.clip == audioClip)
{
// Don't restart a looping sound
return;
}
audioSource.clip = audioClip;
audioSource.Play();
audioSource.loop = loop;

BIN
Assets/Sounds/pacdie1.wav Normal file

Binary file not shown.

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 0392b3961b71caa4fa91c839f217d867
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:

Binary file not shown.

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 614583c8ee1ca744c942497b41bb917d
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:

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 4c9f001814f4c8145a67b384905031b0
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: