namespace Zennysoft.Game.Ma; using Chickensoft.AutoInject; using Chickensoft.GodotNodeInterfaces; using Chickensoft.SaveFileBuilder; using Godot; using System.Threading.Tasks; using Zennysoft.Game.Abstractions; using Zennysoft.Game.Ma.Implementation; public interface IGame : IProvide, IProvide, IProvide, IProvide, IProvide>, INode3D { void LoadExistingGame(); event Game.SaveFileLoadedEventHandler? SaveFileLoaded; event Game.StatRaisedAlertEventHandler StatRaisedAlert; public RescuedItemDatabase RescuedItems { get; } public IDungeonFloor CurrentFloor { get; } public Task UseItem(IInventoryItem item); public void DropItem(IInventoryItem item); public void ThrowItem(IInventoryItem item); public void ToggleInventory(); public void ToggleMinimap(); public void FloorExitReached(); public void NextFloorLoaded(); public void EnemyDefeated(Vector3 defeatedLocation, EnemyStatResource enemyStatResource); public void TogglePause(); }