Implement Equip/Unequip SFX
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user