Fix texture stuff

This commit is contained in:
2025-03-09 12:24:30 -07:00
parent b93630756c
commit d8c5bc8f78
112 changed files with 671 additions and 355 deletions

View File

@@ -1,5 +1,6 @@
using Godot;
using System.Collections.Generic;
using Zennysoft.Ma.Adapter;
namespace Zennysoft.Game.Ma;
@@ -20,6 +21,9 @@ public partial class ItemDatabase : Node
[Export]
public PackedScene ConsumableItemScene { get; set; }
[Export]
public PackedScene EffectItemScene { get; set; }
public InventoryItem[] Initialize()
{
var database = new List<InventoryItem>();
@@ -28,14 +32,13 @@ public partial class ItemDatabase : Node
var accessoryResources = DirAccess.GetFilesAt("res://src/items/accessory/resources/");
var throwableResources = DirAccess.GetFilesAt("res://src/items/throwable/resources/");
var consumableResources = DirAccess.GetFilesAt("res://src/items/consumable/resources/");
var effectResources = DirAccess.GetFilesAt("res://src/items/effect/resources/");
foreach (var armor in armorResources)
{
var armorInfo = GD.Load<ArmorStats>($"res://src/items/armor/resources/{armor}");
var armorScene = ArmorScene.Instantiate<Armor>();
armorScene.ItemStats = armorInfo;
armorScene.Sprite = armorScene.GetNode<Sprite3D>("%Sprite");
armorScene.Sprite.Texture = armorInfo.Texture;
armorScene.Stats = armorInfo;
database.Add(armorScene);
}
@@ -43,9 +46,7 @@ public partial class ItemDatabase : Node
{
var weaponInfo = GD.Load<WeaponStats>($"res://src/items/weapons/resources/{weapon}");
var weaponScene = WeaponScene.Instantiate<Weapon>();
weaponScene.ItemStats = weaponInfo;
weaponScene.Sprite = weaponScene.GetNode<Sprite3D>("%Sprite");
weaponScene.Sprite.Texture = weaponInfo.Texture;
weaponScene.Stats = weaponInfo;
database.Add(weaponScene);
}
@@ -53,9 +54,7 @@ public partial class ItemDatabase : Node
{
var accessoryInfo = GD.Load<AccessoryStats>($"res://src/items/accessory/resources/{accessory}");
var accessoryScene = AccessoryScene.Instantiate<Accessory>();
accessoryScene.ItemStats = accessoryInfo;
accessoryScene.Sprite = accessoryScene.GetNode<Sprite3D>("%Sprite");
accessoryScene.Sprite.Texture = accessoryInfo.Texture;
accessoryScene.Stats = accessoryInfo;
database.Add(accessoryScene);
}
@@ -63,9 +62,7 @@ public partial class ItemDatabase : Node
{
var throwableItemInfo = GD.Load<ThrowableItemStats>($"res://src/items/throwable/resources/{throwable}");
var throwableItemScene = ThrowableItemScene.Instantiate<ThrowableItem>();
throwableItemScene.ItemStats = throwableItemInfo;
throwableItemScene.Sprite = throwableItemScene.GetNode<Sprite3D>("%Sprite");
throwableItemScene.Sprite.Texture = throwableItemInfo.Texture;
throwableItemScene.Stats = throwableItemInfo;
database.Add(throwableItemScene);
}
@@ -73,12 +70,18 @@ public partial class ItemDatabase : Node
{
var consumableItemInfo = GD.Load<ConsumableItemStats>($"res://src/items/consumable/resources/{consumable}");
var consumableItemScene = ConsumableItemScene.Instantiate<ConsumableItem>();
consumableItemScene.ItemStats = consumableItemInfo;
consumableItemScene.Sprite = consumableItemScene.GetNode<Sprite3D>("%Sprite");
consumableItemScene.Sprite.Texture = consumableItemInfo.Texture;
consumableItemScene.Stats = consumableItemInfo;
database.Add(consumableItemScene);
}
foreach (var effectItem in effectResources)
{
var effectItemInfo = GD.Load<EffectItemStats>($"res://src/items/effect/resources/{effectItem}");
var effectItemScene = EffectItemScene.Instantiate<EffectItem>();
effectItemScene.Stats = effectItemInfo;
database.Add(effectItemScene);
}
return [.. database];
}
}