Fix mystery items not spawning, adjust spawning rates, fix pause/unpausing for debug menu

This commit is contained in:
2026-06-13 01:26:38 -07:00
parent 8575cd6ddf
commit 3ab491e0af
13 changed files with 288 additions and 22 deletions
+5
View File
@@ -73,6 +73,7 @@ public partial class Map : Node3D, IMap
public async Task LoadFloor(FloorScene floorToLoad)
{
GD.Print($"Pause for load at {DateTime.Now.Minute}:{DateTime.Now.Second}:{DateTime.Now.Millisecond}");
Game.Pause();
// Clean up current floor
CleanupCurrentFloor();
@@ -84,6 +85,7 @@ public partial class Map : Node3D, IMap
public async Task LoadFloorByPath(string filePath)
{
GD.Print($"Pause for load at {DateTime.Now.Minute}:{DateTime.Now.Second}:{DateTime.Now.Millisecond}");
Game.Pause();
// Clean up current floor
CleanupCurrentFloor();
@@ -117,12 +119,14 @@ public partial class Map : Node3D, IMap
{
SpawnPointCreated?.Invoke((Vector3.Forward, new Vector3(-999, -999, -999)));
var newFloor = await LoadSceneFile(filePath);
GD.Print($"Floor finished load at {DateTime.Now.Minute}:{DateTime.Now.Second}:{DateTime.Now.Millisecond}");
// New floor created, remove old floor
ClearFloor();
// Setup new floor
AddChild(newFloor);
GD.Print($"Floor added at {DateTime.Now.Minute:D2}:{DateTime.Now.Second:D2}:{DateTime.Now.Millisecond}");
CurrentFloor = newFloor as IDungeonFloor;
CurrentFloor.InitializeDungeon();
SpawnPointCreated?.Invoke(CurrentFloor.GetPlayerSpawnPoint());
@@ -134,6 +138,7 @@ public partial class Map : Node3D, IMap
SpawnItems();
CurrentFloor.FloorIsLoaded = true;
FloorLoaded?.Invoke();
GD.Print($"Floor loaded invoked {DateTime.Now.Minute}:{DateTime.Now.Second}:{DateTime.Now.Millisecond}");
}
private void CleanupCurrentFloor()