Add SFX and SFX logic

This commit is contained in:
BuyMyMojo 2023-03-03 05:10:23 +11:00
parent f0e4f6c9ba
commit 1aa97baff4
19 changed files with 504 additions and 8 deletions

4
.erp
View file

@ -5,7 +5,7 @@
<resetOnSceneChange>false</resetOnSceneChange> <resetOnSceneChange>false</resetOnSceneChange>
<debugMode>false</debugMode> <debugMode>false</debugMode>
<EditorClosed>true</EditorClosed> <EditorClosed>true</EditorClosed>
<LastTimestamp>1677785606</LastTimestamp> <LastTimestamp>1677780742</LastTimestamp>
<LastSessionID>5977929065333740048</LastSessionID> <LastSessionID>819460763959917709</LastSessionID>
<Errored>false</Errored> <Errored>false</Errored>
</ERPSettings> </ERPSettings>

View file

@ -1,5 +1,147 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!1 &7924211026834254886
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5783891165566790229}
- component: {fileID: 5289876591296970476}
- component: {fileID: 7875328989254448195}
m_Layer: 0
m_Name: Sound
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5783891165566790229
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7924211026834254886}
m_LocalRotation: {x: -0, y: 0.999996, z: -0, w: -0.0028347075}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6616006834372177299}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!82 &5289876591296970476
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7924211026834254886}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: 511c1cbfb8b48b64083aec78fe17115f, type: 3}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1
Loop: 1
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
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: 1
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!114 &7875328989254448195
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7924211026834254886}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a58f05adbbecd024eacd08f86e3c175c, type: 3}
m_Name:
m_EditorClassIdentifier:
stoveCounter: {fileID: 5065327384487018965}
--- !u!1001 &268634890214101408 --- !u!1001 &268634890214101408
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -98,6 +240,10 @@ PrefabInstance:
type: 3} type: 3}
insertIndex: -1 insertIndex: -1
addedObject: {fileID: 265883278189504360} addedObject: {fileID: 265883278189504360}
- targetCorrespondingSourceObject: {fileID: 6371086230447438899, guid: 509501a557d1d0a45817fb7332917dd5,
type: 3}
insertIndex: -1
addedObject: {fileID: 5783891165566790229}
m_AddedComponents: m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 6869097019740516189, guid: 509501a557d1d0a45817fb7332917dd5, - targetCorrespondingSourceObject: {fileID: 6869097019740516189, guid: 509501a557d1d0a45817fb7332917dd5,
type: 3} type: 3}

View file

@ -1320,6 +1320,51 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 253451472} m_PrefabInstance: {fileID: 253451472}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1 &559164285
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 559164287}
- component: {fileID: 559164286}
m_Layer: 0
m_Name: SoundManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &559164286
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 559164285}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bebe77aac6b586c4aabb54e536895c69, type: 3}
m_Name:
m_EditorClassIdentifier:
audioClipsRefsSO: {fileID: 11400000, guid: 764f567af285f5e4aafccb58bd96148a, type: 2}
--- !u!4 &559164287
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 559164285}
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: 0}
m_RootOrder: 12
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &600789208 --- !u!1 &600789208
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2066,6 +2111,7 @@ GameObject:
m_Component: m_Component:
- component: {fileID: 974939166} - component: {fileID: 974939166}
- component: {fileID: 974939167} - component: {fileID: 974939167}
- component: {fileID: 974939168}
m_Layer: 0 m_Layer: 0
m_Name: Player m_Name: Player
m_TagString: Untagged m_TagString: Untagged
@ -2108,6 +2154,18 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
m_Bits: 64 m_Bits: 64
kitchenObjectHoldPoint: {fileID: 408182762} kitchenObjectHoldPoint: {fileID: 408182762}
--- !u!114 &974939168
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 974939165}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cf7fadd8f8bd7a548ad5f84a17b100e9, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &1075657335 --- !u!1001 &1075657335
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3294,7 +3352,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 27.3, y: -72.5} m_AnchoredPosition: {x: 27.300049, y: -72.5}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!114 &1660265263 --- !u!114 &1660265263
@ -3402,7 +3460,7 @@ PrefabInstance:
- target: {fileID: 3123278271184499230, guid: ca9c1594c8f67cb4daee56bdfadbbdc9, - target: {fileID: 3123278271184499230, guid: ca9c1594c8f67cb4daee56bdfadbbdc9,
type: 3} type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
value: 3.5 value: 3.508
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3123278271184499230, guid: ca9c1594c8f67cb4daee56bdfadbbdc9, - target: {fileID: 3123278271184499230, guid: ca9c1594c8f67cb4daee56bdfadbbdc9,
type: 3} type: 3}
@ -3794,7 +3852,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 25.2, y: -22.2} m_AnchoredPosition: {x: 25.199951, y: -22.199951}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1942177923 --- !u!114 &1942177923
@ -4329,7 +4387,7 @@ PrefabInstance:
- target: {fileID: 3123278271184499230, guid: ca9c1594c8f67cb4daee56bdfadbbdc9, - target: {fileID: 3123278271184499230, guid: ca9c1594c8f67cb4daee56bdfadbbdc9,
type: 3} type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
value: -5.50769 value: -5.508
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3123278271184499230, guid: ca9c1594c8f67cb4daee56bdfadbbdc9, - target: {fileID: 3123278271184499230, guid: ca9c1594c8f67cb4daee56bdfadbbdc9,
type: 3} type: 3}

View file

@ -0,0 +1,44 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6398abfe3947f214aae1dfd889dc05dc, type: 3}
m_Name: AudioClipsRefsSO
m_EditorClassIdentifier:
chop:
- {fileID: 8300000, guid: e519f586b4ac0904e877dfab85ed729e, type: 3}
- {fileID: 8300000, guid: 9c6157275e190604d8136e7e497e941e, type: 3}
- {fileID: 8300000, guid: 99c666127ba3b974c99980d14efcf03c, type: 3}
deliveryFail:
- {fileID: 8300000, guid: 400611abd7434234993616a86c030d1e, type: 3}
- {fileID: 8300000, guid: 6a936576e1e30a640844535c71d5a149, type: 3}
deliverySuccess:
- {fileID: 8300000, guid: 50205ffe58351d244bbcbd725dbfa802, type: 3}
- {fileID: 8300000, guid: 4b22bfbdbacfa0445bc9bbfbb0141085, type: 3}
footstep:
- {fileID: 8300000, guid: 078e15982fce2e147bf06c8a7682f28b, type: 3}
- {fileID: 8300000, guid: b2d2893ac04fbdb44a226f4b6ea0d271, type: 3}
- {fileID: 8300000, guid: cc97c340134faa948bcaf20fea6429c6, type: 3}
- {fileID: 8300000, guid: 64a04bb4fa4ed5d4eac6b0a31f91843a, type: 3}
objectDrop:
- {fileID: 8300000, guid: 9c88983fa5906dc41944ec5a43b6b5c7, type: 3}
- {fileID: 8300000, guid: 331b82ab2c0e2b74d805124d11372c85, type: 3}
- {fileID: 8300000, guid: 961379cce253f794abff0d24df806b68, type: 3}
objectPickup:
- {fileID: 8300000, guid: 668de61a04ca5914aa745f8712c62720, type: 3}
- {fileID: 8300000, guid: 6728bf8b07482414e99ba965fdd022d8, type: 3}
- {fileID: 8300000, guid: 32d29abc86751884081d2005f9ff2676, type: 3}
stoveSizzle: {fileID: 8300000, guid: 511c1cbfb8b48b64083aec78fe17115f, type: 3}
trash:
- {fileID: 8300000, guid: 4b70ec0f0afb9ac4ea7dfea07aca4eb4, type: 3}
- {fileID: 8300000, guid: 6024ba1d53d005f48a96b3a9f6bacedd, type: 3}
warning:
- {fileID: 8300000, guid: b90d8099bdbf09a40ab1163556d5b5f4, type: 3}
- {fileID: 8300000, guid: b59c98e0066c41f42b8100f5cb180f5b, type: 3}

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 764f567af285f5e4aafccb58bd96148a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,3 +1,4 @@
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
@ -5,6 +6,8 @@ using UnityEngine;
public class BaseCounter : MonoBehaviour, IKitchenObjectParent public class BaseCounter : MonoBehaviour, IKitchenObjectParent
{ {
public static event EventHandler OnAnyObjectPlaced;
[SerializeField] private Transform counterTopPoint; [SerializeField] private Transform counterTopPoint;
private KitchenObject kitchenObject; private KitchenObject kitchenObject;
@ -28,6 +31,11 @@ public class BaseCounter : MonoBehaviour, IKitchenObjectParent
public void SetKitchenObject(KitchenObject kitchenObject) public void SetKitchenObject(KitchenObject kitchenObject)
{ {
this.kitchenObject = kitchenObject; this.kitchenObject = kitchenObject;
if (kitchenObject != null )
{
OnAnyObjectPlaced?.Invoke(this, EventArgs.Empty);
}
} }
public KitchenObject GetKitchenObject() public KitchenObject GetKitchenObject()

View file

@ -6,6 +6,8 @@ using UnityEngine;
public class CuttingCounter : BaseCounter, IHasProgress public class CuttingCounter : BaseCounter, IHasProgress
{ {
public static event EventHandler OnAnyCut;
public event EventHandler<IHasProgress.OnProgressChangeEventsArgs> OnProgressChange; public event EventHandler<IHasProgress.OnProgressChangeEventsArgs> OnProgressChange;
public event EventHandler OnCut; public event EventHandler OnCut;
@ -72,6 +74,7 @@ public class CuttingCounter : BaseCounter, IHasProgress
cuttingProgress++; cuttingProgress++;
OnCut?.Invoke(this, EventArgs.Empty); OnCut?.Invoke(this, EventArgs.Empty);
OnAnyCut?.Invoke(this, EventArgs.Empty);
CuttingRecipeSO cuttingRecipeSO = GetCuttingRecipeSOWithInput(GetKitchenObject().GetKitchenObjectSO()); CuttingRecipeSO cuttingRecipeSO = GetCuttingRecipeSOWithInput(GetKitchenObject().GetKitchenObjectSO());

View file

@ -1,9 +1,18 @@
using ERP.Discord;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class DeliveryCounter : BaseCounter public class DeliveryCounter : BaseCounter
{ {
public static DeliveryCounter Instance { get; private set; }
private void Awake()
{
Instance = this;
}
public override void Interact(Player player) public override void Interact(Player player)
{ {
if (player.HasKitchenObject()) if (player.HasKitchenObject())

View file

@ -1,14 +1,20 @@
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class TrashCounter : BaseCounter public class TrashCounter : BaseCounter
{ {
public static event EventHandler OnAnyObjectTrashed;
public override void Interact(Player player) public override void Interact(Player player)
{ {
if (player.HasKitchenObject()) if (player.HasKitchenObject())
{ {
player.GetKitchenObject().DestroySelf(); player.GetKitchenObject().DestroySelf();
OnAnyObjectTrashed?.Invoke(this, EventArgs.Empty);
} }
} }
} }

View file

@ -8,6 +8,8 @@ public class DeliveryManager : MonoBehaviour
public event EventHandler OnRecipeSpawned; public event EventHandler OnRecipeSpawned;
public event EventHandler OnRecipeCompleted; public event EventHandler OnRecipeCompleted;
public event EventHandler OnRecipeSuccess;
public event EventHandler OnRecipeFailed;
public static DeliveryManager Instance { get; private set; } public static DeliveryManager Instance { get; private set; }
[SerializeField] private RecipeListSO recipeListSO; [SerializeField] private RecipeListSO recipeListSO;
@ -80,11 +82,11 @@ public class DeliveryManager : MonoBehaviour
if (plateContentsMatchesRecipe) if (plateContentsMatchesRecipe)
{ {
// Player delivered correct recipe // Player delivered correct recipe
Debug.Log("Player delivered a recipe from the waiting list!");
waitingRecipeSOList.RemoveAt(i); waitingRecipeSOList.RemoveAt(i);
OnRecipeCompleted?.Invoke(this, EventArgs.Empty); OnRecipeCompleted?.Invoke(this, EventArgs.Empty);
OnRecipeSuccess?.Invoke(this, EventArgs.Empty);
return; return;
} }
@ -94,7 +96,8 @@ public class DeliveryManager : MonoBehaviour
// No matches found! // No matches found!
// Player brought the wrong recipe! // Player brought the wrong recipe!
Debug.Log("Player brought the wrong recipe!"); OnRecipeFailed?.Invoke(this, EventArgs.Empty);
} }
public List<RecipeSO> GetWaitingRecipeSOList() public List<RecipeSO> GetWaitingRecipeSOList()

View file

@ -9,6 +9,7 @@ public class Player : MonoBehaviour, IKitchenObjectParent
public static Player Instance { get; private set; } public static Player Instance { get; private set; }
public event EventHandler OnPickedUpSomething;
public event EventHandler<OnSelectedCounterChangedEventArgs> OnSelectedcounterChanged; public event EventHandler<OnSelectedCounterChangedEventArgs> OnSelectedcounterChanged;
public class OnSelectedCounterChangedEventArgs : EventArgs public class OnSelectedCounterChangedEventArgs : EventArgs
{ {
@ -190,6 +191,11 @@ public class Player : MonoBehaviour, IKitchenObjectParent
public void SetKitchenObject(KitchenObject kitchenObject) public void SetKitchenObject(KitchenObject kitchenObject)
{ {
this.kitchenObject = kitchenObject; this.kitchenObject = kitchenObject;
if (kitchenObject != null)
{
OnPickedUpSomething?.Invoke(this, EventArgs.Empty);
}
} }
public KitchenObject GetKitchenObject() public KitchenObject GetKitchenObject()

View file

@ -0,0 +1,32 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerSounds : MonoBehaviour
{
private Player player;
private float footstepTimer;
private float footstepTimerMax = .1f;
private void Awake()
{
player = GetComponent<Player>();
}
private void Update()
{
footstepTimer -= Time.deltaTime;
if (footstepTimer < 0f )
{
footstepTimer = footstepTimerMax;
if (player.IsWalking())
{
float volume = 1f;
SoundManager.Instance.PlayFootsteps(player.transform.position, volume);
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cf7fadd8f8bd7a548ad5f84a17b100e9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,19 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu()]
public class AudioClipsRefsSO : ScriptableObject
{
public AudioClip[] chop;
public AudioClip[] deliveryFail;
public AudioClip[] deliverySuccess;
public AudioClip[] footstep;
public AudioClip[] objectDrop;
public AudioClip[] objectPickup;
public AudioClip stoveSizzle;
public AudioClip[] trash;
public AudioClip[] warning;
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6398abfe3947f214aae1dfd889dc05dc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,77 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SoundManager : MonoBehaviour
{
public static SoundManager Instance { get; private set; }
[SerializeField] private AudioClipsRefsSO audioClipsRefsSO;
private void Awake()
{
Instance = this;
}
private void Start()
{
DeliveryManager.Instance.OnRecipeSuccess += DeliveryManager_OnRecipeSuccess;
DeliveryManager.Instance.OnRecipeFailed += DeliveryManager_OnRecipeFailed;
CuttingCounter.OnAnyCut += CuttingCounter_OnAnyCut;
Player.Instance.OnPickedUpSomething += Player_OnPickedUpSomething;
BaseCounter.OnAnyObjectPlaced += BaseCounter_OnAnyObjectPlaced;
TrashCounter.OnAnyObjectTrashed += TrashCounter_OnAnyObjectTrashed;
}
private void TrashCounter_OnAnyObjectTrashed(object sender, System.EventArgs e)
{
TrashCounter trashCounter = sender as TrashCounter;
PlaySound(audioClipsRefsSO.trash, trashCounter.transform.position);
}
private void BaseCounter_OnAnyObjectPlaced(object sender, System.EventArgs e)
{
BaseCounter counter = sender as BaseCounter;
PlaySound(audioClipsRefsSO.objectDrop, counter.transform.position);
}
private void Player_OnPickedUpSomething(object sender, System.EventArgs e)
{
PlaySound(audioClipsRefsSO.objectPickup, Player.Instance.transform.position);
}
private void CuttingCounter_OnAnyCut(object sender, System.EventArgs e)
{
CuttingCounter cuttingCounter = sender as CuttingCounter;
PlaySound(audioClipsRefsSO.chop, cuttingCounter.transform.position);
}
private void DeliveryManager_OnRecipeFailed(object sender, System.EventArgs e)
{
DeliveryCounter deliveryCounter = DeliveryCounter.Instance;
PlaySound(audioClipsRefsSO.deliveryFail, deliveryCounter.transform.position);
}
private void DeliveryManager_OnRecipeSuccess(object sender, System.EventArgs e)
{
DeliveryCounter deliveryCounter = DeliveryCounter.Instance;
PlaySound(audioClipsRefsSO.deliverySuccess, deliveryCounter.transform.position);
}
private void PlaySound(AudioClip[] audioClipArray, Vector3 position, float volume = 1f)
{
PlaySound(audioClipArray[Random.Range(0, audioClipArray.Length)], position, volume);
}
private void PlaySound(AudioClip audioClip, Vector3 position, float volume = 1f)
{
AudioSource.PlayClipAtPoint(audioClip, position, volume);
}
public void PlayFootsteps(Vector3 position, float volume)
{
PlaySound(audioClipsRefsSO.footstep, position, volume);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bebe77aac6b586c4aabb54e536895c69
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,33 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StoveCounterSound : MonoBehaviour
{
[SerializeField] private StoveCounter stoveCounter;
private AudioSource audioSource;
private void Awake()
{
audioSource = GetComponent<AudioSource>();
}
private void Start()
{
stoveCounter.OnStateChanged += StoveCounter_OnStateChanged;
}
private void StoveCounter_OnStateChanged(object sender, StoveCounter.OnStateChangedEventArgs e)
{
bool playSound = e.state == StoveCounter.State.Frying || e.state == StoveCounter.State.Fried;
if (playSound)
{
audioSource.Play();
} else
{
audioSource.Pause();
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a58f05adbbecd024eacd08f86e3c175c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: