42 lines
1.0 KiB
C#
42 lines
1.0 KiB
C#
|
|
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<IGameRepo>, IProvide<IGameEventDepot>, IProvide<IGame>, IProvide<IPlayer>, IProvide<ISaveChunk<GameData>>, 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();
|
|
}
|