From 1d74f3204692bb69aabf3c57fbdf4601a31a311f Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Sat, 16 Dec 2023 18:32:11 +0000
Subject: [PATCH] Added audio manager + sound effects

---
 Assets/Scripts/Damageable.cs |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/Assets/Scripts/Damageable.cs b/Assets/Scripts/Damageable.cs
index b738468..09fa72f 100644
--- a/Assets/Scripts/Damageable.cs
+++ b/Assets/Scripts/Damageable.cs
@@ -5,9 +5,11 @@
 
 public class Damageable : MonoBehaviour
 {
+#if (UNITY_EDITOR)
     // ONLY FOR DEBUG USE
     [SerializeField]
     private bool selfDamage = false;
+#endif
     Animator animator;
 
     [SerializeField]
@@ -20,6 +22,10 @@
     private bool isInvincible = false;
     private float timeSinceHit = 0f;
     public float invincibilityTime = 0.25f;
+
+    public AudioClip hitSound;
+    public AudioClip healSound;
+    public AudioClip deathSound;
 
     public int MaxHealth
     {
@@ -42,6 +48,10 @@
             if (value <= 0)
             {
                 IsAlive = false;
+                if (deathSound != null)
+                {
+                    SoundManager.instance.PlaySoundAtPoint(gameObject, deathSound.name);
+                }
             }
         }
     }
@@ -74,10 +84,12 @@
                 timeSinceHit += Time.deltaTime;
             }
         }
+#if (UNITY_EDITOR)
         if (selfDamage)
         {
             Hit(10);
         }
+#endif
     }
 
     public void Hit(int damage)
@@ -89,6 +101,10 @@
             isInvincible = true;
 
             CharacterEvents.characterDamaged.Invoke(gameObject, actualDamageAmount);
+            if (hitSound != null)
+            {
+                SoundManager.instance.PlaySoundAtPoint(gameObject, hitSound.name);
+            }
         }
     }
 
@@ -103,6 +119,10 @@
             CharacterEvents.characterHealed.Invoke(gameObject, actualHealAmount);
 
             result = true;
+            if (healSound != null)
+            {
+                SoundManager.instance.PlaySoundAtPoint(gameObject, healSound.name);
+            }
 
         }
         return result;

--
Gitblit v1.9.3