Arrange debug floor situation

This commit is contained in:
2025-09-26 22:50:09 -07:00
parent 2a3c80a7af
commit 2ea96e5933
37 changed files with 137 additions and 3900 deletions

View File

@@ -24,9 +24,9 @@ public partial class Map : Node3D, IMap
public IPlayer Player => this.DependOn<IPlayer>();
#region Save
public ISaveChunk<MapData> MapChunk { get; set; } = default!;
public ISaveChunk<MapInfo> MapChunk { get; set; } = default!;
ISaveChunk<MapData> IProvide<ISaveChunk<MapData>>.Value() => MapChunk;
ISaveChunk<MapInfo> IProvide<ISaveChunk<MapInfo>>.Value() => MapChunk;
[Node]
public AnimationPlayer AnimationPlayer { get; set; } = default!;
@@ -58,11 +58,11 @@ public partial class Map : Node3D, IMap
FloorScenes = ImmutableDictionary<Floor, string>.Empty
.Add(Floor.Overworld, $"res://src/map/overworld/Overworld.tscn")
.Add(Floor.Altar, $"res://src/map/dungeon/floors/Floor00.tscn")
.Add(Floor.BossFloorA, $"res://src/map/dungeon/rooms/Special Floors/15. Boss Floor A.tscn")
.Add(Floor.BossFloorB, $"res://src/map/dungeon/rooms/Special Floors/34. Boss Floor B.tscn")
.Add(Floor.GoddessOfGuidanceFloor, $"res://src/map/dungeon/rooms/Special Floors/35. Goddess of Guidance's Room.tscn")
.Add(Floor.VoidRoom, $"res://src/map/dungeon/rooms/Set B/30. Void Room.tscn")
.Add(Floor.FinalFloor, $"res://src/map/dungeon/rooms/Special Floors/36. Final Floor.tscn")
.Add(Floor.BossFloorA, $"res://src/map/dungeon/floors/Special Floors/15. Boss Floor A.tscn")
.Add(Floor.BossFloorB, $"res://src/map/dungeon/floors/Special Floors/34. Boss Floor B.tscn")
.Add(Floor.GoddessOfGuidanceFloor, $"res://src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn")
.Add(Floor.VoidRoom, $"res://src/map/dungeon/floors/Set B/30. Void Room.tscn")
.Add(Floor.FinalFloor, $"res://src/map/dungeon/floors/Special Floors/36. Final Floor.tscn")
.Add(Floor.Floor01, $"res://src/map/dungeon/floors/Floor01.tscn")
.Add(Floor.Floor02, $"res://src/map/dungeon/floors/Floor02.tscn")
.Add(Floor.Floor03, $"res://src/map/dungeon/floors/Floor03.tscn")
@@ -82,12 +82,18 @@ public partial class Map : Node3D, IMap
public async Task LoadFloor()
{
AnimationPlayer.CallDeferred(AnimationPlayer.MethodName.Play, "fade_out");
GetMapFiles();
FloorScenes.TryGetValue(Floors.First(), out var sceneToLoad);
await LoadFloor(sceneToLoad);
}
public async Task LoadFloor(string sceneName)
{
AnimationPlayer.CallDeferred(AnimationPlayer.MethodName.Play, "fade_out");
ClearCurrentMap();
var sceneLoader = new SceneLoader();
AddChild(sceneLoader);
sceneLoader.LoadSceneRequest(sceneToLoad);
sceneLoader.LoadSceneRequest(sceneName);
await ToSignal(sceneLoader, SceneLoader.SignalName.SceneLoaded);
AddChild(sceneLoader.LoadedScene);
CurrentFloor = (IDungeonFloor)sceneLoader.LoadedScene;
@@ -110,4 +116,10 @@ public partial class Map : Node3D, IMap
var transform = GetPlayerSpawnPosition();
Player.TeleportPlayer(transform);
}
private string[] GetMapFiles()
{
var folderLocation = "res://src/map/dungeon/floors/" + "Floor" + CurrentFloorNumber.Value.ToString("D2");
return DirAccess.GetFilesAt(folderLocation);
}
}