Files
GameJamDungeon/Zennysoft.Game.Ma/src/game/IGame.cs

50 lines
1.1 KiB
C#

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<IGame>, IProvide<IGameRepo>, IProvide<IPlayer>, IProvide<IMap>, IProvide<ISaveChunk<GameData>>, 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<string> InventoryEventNotification;
}