Files
GameJamDungeon/Zennysoft.Game.Ma/src/game/GameEventDepot.cs
2025-03-26 23:13:01 -07:00

39 lines
1.2 KiB
C#

using Godot;
using System;
namespace Zennysoft.Ma.Adapter;
public class GameEventDepot : IGameEventDepot
{
public event Action? OverworldEntered;
public event Action? DungeonAThemeAreaEntered;
public event Action? DungeonBThemeAreaEntered;
public event Action? DungeonCThemeAreaEntered;
public event Action? TeleportEntered;
public event Action? MenuScrolled;
public event Action? MenuBackedOut;
public event Action? InventorySorted;
public event Action<InventoryItem>? HealingItemConsumed;
public void OnOverworldEntered() => OverworldEntered?.Invoke();
public void OnDungeonAThemeAreaEntered() => DungeonAThemeAreaEntered?.Invoke();
public void OnDungeonBThemeAreaEntered() => DungeonBThemeAreaEntered?.Invoke();
public void OnDungeonCThemeAreaEntered() => DungeonCThemeAreaEntered?.Invoke();
public void OnTeleportEntered() => TeleportEntered?.Invoke();
public void OnMenuScrolled() => MenuScrolled?.Invoke();
public void OnMenuBackedOut() => MenuBackedOut?.Invoke();
public void OnInventorySorted() => InventorySorted?.Invoke();
public void OnHealingItemConsumed(InventoryItem item) => HealingItemConsumed?.Invoke(item);
public void Dispose()
{
GC.SuppressFinalize(this);
}
}