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

@@ -1,5 +1,4 @@
using Godot;
using Godot.Collections;
using System.Collections.Generic;
namespace GameJamDungeon
@@ -21,11 +20,9 @@ namespace GameJamDungeon
[Export]
public PackedScene ConsumableItemScene { get; set; }
public List<(IInventoryItem Item, float SpawnRate)> Database { get; private set; }
public void SpawnItems()
public IInventoryItem[] Initialize()
{
Database = new List<(IInventoryItem, float SpawnRates)>();
var database = new List<IInventoryItem>();
var armorResources = DirAccess.GetFilesAt("res://src/items/armor/resources/");
var weaponResources = DirAccess.GetFilesAt("res://src/items/weapons/resources/");
var accessoryResources = DirAccess.GetFilesAt("res://src/items/accessory/resources/");
@@ -37,7 +34,7 @@ namespace GameJamDungeon
var armorInfo = GD.Load<ArmorInfo>($"res://src/items/armor/resources/{armor}");
var armorScene = ArmorScene.Instantiate<Armor>();
armorScene.ArmorInfo = armorInfo;
Database.Add(new(armorScene, 0.01f));
database.Add(armorScene);
}
foreach (var weapon in weaponResources)
@@ -45,7 +42,7 @@ namespace GameJamDungeon
var weaponInfo = GD.Load<WeaponInfo>($"res://src/items/weapons/resources/{weapon}");
var weaponScene = WeaponScene.Instantiate<Weapon>();
weaponScene.WeaponInfo = weaponInfo;
Database.Add(new(weaponScene, 0.01f));
database.Add(weaponScene);
}
foreach (var accessory in accessoryResources)
@@ -53,7 +50,7 @@ namespace GameJamDungeon
var accessoryInfo = GD.Load<AccessoryInfo>($"res://src/items/accessory/resources/{accessory}");
var accessoryScene = AccessoryScene.Instantiate<Accessory>();
accessoryScene.AccessoryInfo = accessoryInfo;
Database.Add(new(accessoryScene, 0.01f));
database.Add(accessoryScene);
}
foreach (var throwable in throwableResources)
@@ -61,7 +58,7 @@ namespace GameJamDungeon
var throwableItemInfo = GD.Load<ThrowableItemInfo>($"res://src/items/throwable/resources/{throwable}");
var throwableItemScene = ThrowableItemScene.Instantiate<ThrowableItem>();
throwableItemScene.ThrowableItemInfo = throwableItemInfo;
Database.Add(new(throwableItemScene, 0.01f));
database.Add(throwableItemScene);
}
foreach (var consumable in consumableResources)
@@ -69,8 +66,10 @@ namespace GameJamDungeon
var consumableItemInfo = GD.Load<ConsumableItemInfo>($"res://src/items/consumable/resources/{consumable}");
var consumableItemScene = ConsumableItemScene.Instantiate<ConsumableItem>();
consumableItemScene.ConsumableItemInfo = consumableItemInfo;
Database.Add(new(consumableItemScene, 0.9f));
database.Add(consumableItemScene);
}
return database.ToArray();
}
}
}