Files
GameJamDungeon/Zennysoft.Game.Ma/src/game/IGame.cs
2025-03-07 12:05:20 -08:00

45 lines
1.1 KiB
C#

namespace Zennysoft.Game.Ma;
using Chickensoft.AutoInject;
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.SaveFileBuilder;
using Godot;
using System;
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 void UseItem(InventoryItem item);
public void DropItem(InventoryItem item);
public void ThrowItem(InventoryItem item);
public void ToggleInventory();
public void ToggleMinimap();
public void AnnounceMessageOnInventoryScreen(string message);
public void AnnounceMessageOnMainScreen(string message);
public void FloorExitReached();
public void NextFloorLoaded();
public void EnemyDefeated(Vector3 defeatedLocation, EnemyStatResource enemyStatResource);
public void TogglePause();
}