(client) chore
This commit is contained in:
@ -36,59 +36,27 @@ namespace Managers
|
||||
$"ItemResourceManager: Duplicate itemDef.defName found: {def.defName}. Skipping this item.");
|
||||
continue;
|
||||
}
|
||||
|
||||
var itemIcon = Managers.PackagesImageManager.Instance.GetSprite(def.texture);
|
||||
if (!itemIcon)
|
||||
{
|
||||
Debug.LogWarning(
|
||||
$"ItemResourceManager: Failed to load sprite for texture '{def.texture}' for item '{def.defName}'. Icon will be null.");
|
||||
}
|
||||
|
||||
var itemName = string.IsNullOrEmpty(def.label) ? def.defName : def.label;
|
||||
if (string.IsNullOrEmpty(def.label))
|
||||
{
|
||||
Debug.LogWarning(
|
||||
$"ItemResourceManager: ItemDef '{def.defName}' has an empty label. Using defName as item name.");
|
||||
}
|
||||
|
||||
var itemDescription = def.description ?? string.Empty;
|
||||
|
||||
|
||||
Item.ItemResource itemResource;
|
||||
|
||||
if (def is WeaponDef currentWeaponDef)
|
||||
{
|
||||
itemResource = new Item.WeaponResource(
|
||||
def.defName, // 传递 defName
|
||||
itemName,
|
||||
itemDescription,
|
||||
itemIcon,
|
||||
currentWeaponDef.rarity,
|
||||
currentWeaponDef.maxStack,
|
||||
currentWeaponDef.ssEquippable,
|
||||
currentWeaponDef.attributes
|
||||
currentWeaponDef
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
itemResource = new Item.ItemResource(
|
||||
def.defName, // 传递 defName
|
||||
itemName,
|
||||
itemDescription,
|
||||
itemIcon,
|
||||
def.rarity,
|
||||
def.maxStack,
|
||||
def.ssEquippable
|
||||
def
|
||||
);
|
||||
}
|
||||
|
||||
_items.Add(def.defName, itemResource);
|
||||
|
||||
// 将物品添加到按显示名称查找的字典 (这里仍然使用 itemResource.Name,因为字典的目的是按显示名称查找)
|
||||
if (!_itemsByName.ContainsKey(itemResource.Name))
|
||||
{
|
||||
_itemsByName.Add(itemResource.Name, new List<Item.ItemResource>());
|
||||
}
|
||||
|
||||
_itemsByName[itemResource.Name].Add(itemResource);
|
||||
}
|
||||
}
|
||||
@ -97,8 +65,6 @@ namespace Managers
|
||||
{
|
||||
return _items.GetValueOrDefault(defName, null);
|
||||
}
|
||||
|
||||
// FindItemByName 和 FindAllItemsByName 保持不变,因为它们是按显示名称查找的
|
||||
public Item.ItemResource FindItemByName(string itemName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(itemName)) return null;
|
||||
|
Reference in New Issue
Block a user