using Chickensoft.AutoInject; using Chickensoft.Collections; using Chickensoft.GodotNodeInterfaces; using Chickensoft.SaveFileBuilder; using Godot; using System.Collections.Immutable; using System.Threading.Tasks; using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; public interface IMap : INode3D, IProvide> { Task LoadFloor(); ImmutableDictionary FloorScenes { get; } IDungeonFloor CurrentFloor { get; } Transform3D GetPlayerSpawnPosition(); IDungeonRoom GetPlayersCurrentRoom(); void InitializeMapData(); public AutoProp CurrentFloorNumber { get; } }