Speeeeeed up

This commit is contained in:
2025-09-26 02:22:03 -07:00
parent 928112188b
commit 7e9114bfd1
21 changed files with 136 additions and 2223 deletions

View File

@@ -24,10 +24,24 @@ public partial class PauseDebugMenu : Control, IDebugMenu
[Node] public OptionButton SpawnEnemyDropDown { get; set; } = default!;
private ImmutableList<InventoryItem> _spawnableItems;
private ImmutableList<PackedScene> _spawnableEnemies;
[Export]
private EnemyDatabase _enemyDatabase;
private ImmutableList<string> _spawnableEnemies =
[
@"res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn",
@"res://src/enemy/enemy_types/02. michael/Michael.tscn",
@"res://src/enemy/enemy_types/03. filth_eater/FilthEater.tscn",
@"res://src/enemy/enemy_types/04. sara/Sara.tscn",
@"res://src/enemy/enemy_types/05. ballos/Ballos.tscn",
@"res://src/enemy/enemy_types/06. chariot/Chariot.tscn",
@"res://src/enemy/enemy_types/07. chinthe/Chinthe.tscn",
@"res://src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn",
@"res://src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn",
@"res://src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn",
@"res://src/enemy/enemy_types/09. Agni/AgniDemon.tscn",
@"res://src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn",
@"res://src/enemy/enemy_types/11. Palan/Palan.tscn",
@"res://src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn",
@"res://src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn"
];
private ItemDatabase _itemDatabase;
@@ -37,17 +51,10 @@ public partial class PauseDebugMenu : Control, IDebugMenu
LoadNextFloorButton.Pressed += LoadNextFloorButton_Pressed;
_itemDatabase = new ItemDatabase();
_spawnableItems = _itemDatabase.Items;
_spawnableEnemies = [];
foreach (var item in _spawnableItems)
SpawnItemDropDown.AddItem(item.ItemName);
_spawnableEnemies = [.. _enemyDatabase.EnemyList];
foreach (var enemy in _spawnableEnemies)
{
var tempEnemy = enemy.Instantiate<Enemy>();
SpawnEnemyDropDown.AddItem(tempEnemy.Name);
}
SpawnItemDropDown.AllowReselect = true;
SpawnEnemyDropDown.AllowReselect = true;
@@ -58,7 +65,7 @@ public partial class PauseDebugMenu : Control, IDebugMenu
private void SpawnEnemyDropDown_ItemSelected(long index)
{
var enemyToSpawn = _spawnableEnemies.ElementAt((int)index);
var loadedEnemy = enemyToSpawn.Instantiate<Enemy>();
var loadedEnemy = GD.Load<PackedScene>(enemyToSpawn).Instantiate<Enemy>();
AddChild(loadedEnemy);
loadedEnemy.GlobalPosition = new Vector3(_player.CurrentPosition.X, _player.CurrentPosition.Y + 1, _player.CurrentPosition.Z) + (-_player.CurrentBasis.Z * 2);
}