Implement Equip/Unequip SFX

This commit is contained in:
2025-03-11 16:51:22 -07:00
parent 294c52dc40
commit 29af9062b5
12 changed files with 135 additions and 67 deletions

View File

@@ -21,6 +21,8 @@ public partial class InGameAudioLogic
public readonly record struct PlayEquipSound;
public readonly record struct PlayUnequipSound;
public readonly record struct PlayInventorySortedSound;
public readonly record struct PlayMenuBackSound;

View File

@@ -20,9 +20,8 @@ public partial class InGameAudioLogic
gameEventDepot.DungeonAThemeAreaEntered += OnDungeonAThemeEntered;
gameEventDepot.MenuScrolled += OnMenuScrolled;
gameEventDepot.MenuBackedOut += OnMenuBackedOut;
player.EquippedWeapon.Changed += OnEquippedItem;
player.EquippedArmor.Changed += OnEquippedItem;
player.EquippedAccessory.Changed += OnEquippedItem;
gameRepo.EquippedItem += OnEquippedItem;
gameRepo.UnequippedItem += OnUnequippedItem;
gameEventDepot.InventorySorted += OnInventorySorted;
gameEventDepot.HealingItemConsumed += OnHealingItemConsumed;
gameEventDepot.RestorativePickedUp += OnRestorativePickedUp;
@@ -39,9 +38,8 @@ public partial class InGameAudioLogic
gameEventDepot.DungeonAThemeAreaEntered -= OnDungeonAThemeEntered;
gameEventDepot.MenuScrolled -= OnMenuScrolled;
gameEventDepot.MenuBackedOut -= OnMenuBackedOut;
player.EquippedWeapon.Changed -= OnEquippedItem;
player.EquippedArmor.Changed -= OnEquippedItem;
player.EquippedAccessory.Changed -= OnEquippedItem;
gameRepo.EquippedItem -= OnEquippedItem;
gameRepo.UnequippedItem -= OnUnequippedItem;
gameEventDepot.InventorySorted -= OnInventorySorted;
gameEventDepot.TeleportEntered -= OnTeleportEntered;
gameRepo.PlayerAttack -= OnPlayerAttack;
@@ -63,6 +61,8 @@ public partial class InGameAudioLogic
private void OnEquippedItem(InventoryItem equipableItem) => Output(new Output.PlayEquipSound());
private void OnUnequippedItem(InventoryItem equipableItem) => Output(new Output.PlayUnequipSound());
private void OnOverworldEntered() => Output(new Output.PlayOverworldMusic());
private void OnDungeonAThemeEntered() => Output(new Output.PlayDungeonThemeAMusic());

View File

@@ -25,6 +25,10 @@ public interface IGameRepo : IDisposable
event Action? PlayerAttackedEnemy;
event Action<EquipableItem>? EquippedItem;
event Action<EquipableItem>? UnequippedItem;
void Pause();
void Resume();
@@ -51,6 +55,10 @@ public interface IGameRepo : IDisposable
public void GameEnded();
public void OnEquippedItem(EquipableItem item);
public void OnUnequippedItem(EquipableItem item);
public double ExpRate { get; }
}
@@ -66,6 +74,8 @@ public class GameRepo : IGameRepo
public event Action? PlayerAttack;
public event Action? PlayerAttackedWall;
public event Action? PlayerAttackedEnemy;
public event Action<EquipableItem>? EquippedItem;
public event Action<EquipableItem>? UnequippedItem;
public IAutoProp<bool> IsPaused => _isPaused;
private readonly AutoProp<bool> _isPaused;
@@ -141,6 +151,10 @@ public class GameRepo : IGameRepo
CloseInventoryEvent?.Invoke();
}
public void OnEquippedItem(EquipableItem item) => EquippedItem?.Invoke(item);
public void OnUnequippedItem(EquipableItem item) => UnequippedItem?.Invoke(item);
public void GameEnded()
{
Pause();