using Chickensoft.Collections; using Chickensoft.GodotNodeInterfaces; using Godot; using System; using System.Threading.Tasks; namespace Zennysoft.Game.Ma; public interface IMap : INode3D { Task LoadFloor(); Task LoadFloor(string sceneName); void ClearMap(); IDungeonFloor CurrentFloor { get; } (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPosition(); IDungeonRoom GetPlayersCurrentRoom(); void InitializeMapData(); public AutoProp CurrentFloorNumber { get; } public event Action<(Vector3 Rotation, Vector3 Position)> SpawnPointCreated; public event Action FloorLoaded; }