50 lines
1.1 KiB
C#
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;
|
|
}
|