61 lines
1.3 KiB
C#
61 lines
1.3 KiB
C#
|
|
namespace Zennysoft.Game.Ma;
|
|
|
|
using Chickensoft.AutoInject;
|
|
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 SetAffinity(ElementType elementType);
|
|
|
|
public void FloorExitReached();
|
|
|
|
public void ShowMinimap(bool visible);
|
|
|
|
public void GameOver();
|
|
|
|
public Task Save();
|
|
|
|
public void ShowDebugInfo(bool show);
|
|
|
|
public void DoubleExp();
|
|
|
|
public void NotifyInventory(string message);
|
|
|
|
public ItemRescueMenu ItemRescueMenu { get; }
|
|
|
|
public QuestData QuestData { get; }
|
|
|
|
public SarcoData SarcoData { get; }
|
|
|
|
public NpcData NpcData { get; }
|
|
|
|
public StatData StatData { get; }
|
|
|
|
public event Action GameExitRequested;
|
|
|
|
public event Action GameLoaded;
|
|
|
|
public event Action<string> InventoryEventNotification;
|
|
}
|