aboutsummaryrefslogtreecommitdiffstats
path: root/Assets/Scripts
diff options
context:
space:
mode:
authorcross28 <icross028@gmail.com>2022-04-18 04:49:39 -0500
committercross28 <icross028@gmail.com>2022-04-18 04:49:39 -0500
commita4d4850cd3e2d17ffa952203f86bf4fbe54a01c2 (patch)
tree4bad1628cc223bbd40bd5a593c8bf9576fda0402 /Assets/Scripts
parente6e9c0826f2d622caefa5e1a99d643a85f4c058f (diff)
feat: code cleanup for audio manager
Diffstat (limited to 'Assets/Scripts')
-rw-r--r--Assets/Scripts/Actors/Actor.cs4
-rw-r--r--Assets/Scripts/Actors/Player.cs4
-rw-r--r--Assets/Scripts/AudioManager.cs24
3 files changed, 21 insertions, 11 deletions
diff --git a/Assets/Scripts/Actors/Actor.cs b/Assets/Scripts/Actors/Actor.cs
index e7f1a83..eb8185e 100644
--- a/Assets/Scripts/Actors/Actor.cs
+++ b/Assets/Scripts/Actors/Actor.cs
@@ -21,9 +21,11 @@ namespace MontanaJohns.Actors
protected SpriteRenderer _renderer;
protected Animator _animator;
protected Transform _transform;
+ protected AudioManager _audio;
protected Active activeItem;
protected bool isGrappling;
+ protected bool isMoving;
protected Vector2? grapplePoint = null;
protected LayerMask groundLayers;
protected Collection<Item> items;
@@ -42,6 +44,7 @@ namespace MontanaJohns.Actors
_transform = GetComponent<Transform>();
_renderer = GetComponent<SpriteRenderer>();
_animator = GetComponent<Animator>();
+ _audio = FindObjectOfType<AudioManager>();
groundLayers = LayerMask.GetMask("Grapple", "Ground");
_rigidBody.freezeRotation = true;
@@ -73,6 +76,7 @@ namespace MontanaJohns.Actors
var target = new Vector2(input * stats.speedMultiplier * 10, _rigidBody.velocity.y);
_rigidBody.velocity = Vector2.SmoothDamp(_rigidBody.velocity, target, ref acceleration, .05f);
_animator.SetBool("moving", Mathf.Abs(_rigidBody.velocity.x) > 1);
+ isMoving = Mathf.Abs(_rigidBody.velocity.x) > 1;
if (_rigidBody.velocity.x < -0.1) {
_renderer.flipX = true;
diff --git a/Assets/Scripts/Actors/Player.cs b/Assets/Scripts/Actors/Player.cs
index 0483be5..8535a41 100644
--- a/Assets/Scripts/Actors/Player.cs
+++ b/Assets/Scripts/Actors/Player.cs
@@ -55,6 +55,8 @@ namespace MontanaJohns.Actors
else
{
base.Move(move.ReadValue<Vector2>().x);
+ if (isMoving && !_animator.GetBool("airborn") && !_audio.isPlaying("RunningOnGrass")) _audio.Play("RunningOnGrass");
+ else if (!isMoving || _animator.GetBool("airborn")) _audio.Stop("RunningOnGrass");
}
DeathCheck();
}
@@ -78,7 +80,7 @@ namespace MontanaJohns.Actors
protected void Fire()
{
Instantiate(projectilePrefab, firePoint.position, firePoint.rotation);
- FindObjectOfType<AudioManager>().Play("Gunshot");
+ _audio.Play("Gunshot");
}
}
} \ No newline at end of file
diff --git a/Assets/Scripts/AudioManager.cs b/Assets/Scripts/AudioManager.cs
index 1809375..ccb8ebc 100644
--- a/Assets/Scripts/AudioManager.cs
+++ b/Assets/Scripts/AudioManager.cs
@@ -6,18 +6,8 @@ public class AudioManager : MonoBehaviour
{
public Sound[] sounds;
- public static AudioManager instance;
-
private void Awake()
{
- if (instance == null) instance = this;
- else {
- Destroy(gameObject);
- return;
- }
-
- DontDestroyOnLoad(gameObject);
-
foreach (Sound s in sounds) {
s.source = gameObject.AddComponent<AudioSource>();
s.source.clip = s.clip;
@@ -41,4 +31,18 @@ public class AudioManager : MonoBehaviour
}
s.source.Play();
}
+
+ public void Stop(string name)
+ {
+ Sound s = Array.Find(sounds, sound => sound.name == name);
+ if (s == null) return;
+ s.source.Stop();
+ }
+
+ public bool isPlaying(string name)
+ {
+ Sound s = Array.Find(sounds, sound => sound.name == name);
+ if (s == null) return false;
+ return s.source.isPlaying;
+ }
}