Add weapon textures, refactor item spawning

This commit is contained in:
2024-09-09 11:53:35 -07:00
parent e7804cd229
commit 9cc88028dd
41 changed files with 424 additions and 96 deletions

View File

@@ -39,7 +39,6 @@ public partial class DungeonRoom : Node3D, IDungeonRoom, IProvide<DungeonRoomLog
DungeonRoomLogic = new DungeonRoomLogic();
DungeonRoomLogic.Set(this as IDungeonRoom);
DungeonRoomLogic.Set(GameRepo);
ItemDatabase.SpawnItems();
SpawnItems();
SpawnEnemies();
}
@@ -51,14 +50,14 @@ public partial class DungeonRoom : Node3D, IDungeonRoom, IProvide<DungeonRoomLog
rng.Randomize();
var numberOfItemsToSpawn = rng.RandiRange(1, itemSpawnPoints.Count);
itemSpawnPoints.Shuffle();
var database = ItemDatabase.Initialize();
foreach (Marker3D spawnPoint in itemSpawnPoints)
{
if (numberOfItemsToSpawn <= 0)
break;
numberOfItemsToSpawn--;
var weights = ItemDatabase.Database.Select(x => x.SpawnRate).ToArray();
var database = ItemDatabase.Database.Select(x => x.Item).ToArray();
var weights = database.Select(x => x.Info.SpawnRate).ToArray();
var selectedItem = database[rng.RandWeighted(weights)];
var duplicated = selectedItem.Duplicate((int)DuplicateFlags.UseInstantiation) as Node3D;
duplicated.Position = spawnPoint.Position;