namespace Zennysoft.Game.Ma; using Chickensoft.AutoInject; using Chickensoft.Collections; using Chickensoft.GodotNodeInterfaces; using Chickensoft.SaveFileBuilder; using System; using System.Threading.Tasks; using Zennysoft.Ma.Adapter; public interface IGame : IProvide, IProvide, IProvide, IProvide, IProvide>, INode3D { void LoadExistingGame(); event Game.SaveFileLoadedEventHandler? SaveFileLoaded; public RescuedItemDatabase RescuedItems { get; } public IDungeonFloor CurrentFloor { get; } public Task UseItem(IBaseInventoryItem item); public void DropItem(IBaseInventoryItem item); public void SetItem(IBaseInventoryItem item); public void ThrowItem(IBaseInventoryItem item); public void FloorExitReached(); public void GameOver(); public Task Save(); public void ShowDebugInfo(bool show); public void DoubleExp(); public ItemRescueMenu ItemRescueMenu { get; } public QuestData QuestData { get; } public event Action GameExitRequested; public event Action GameLoaded; public event Action InventoryEventNotification; }