(client) feat:添加消息定义,添加故事定义及其运算,武器动画可用,装备UI可用以及切换武器 fix:修复快速攻击导致协程释放出错卡死,重构为计时器,修复类型转换错误导致报错

This commit is contained in:
m0_75251201
2025-09-08 00:13:12 +08:00
parent 15cdd2b244
commit 379ed07773
39 changed files with 8353 additions and 937 deletions

View File

@ -9,8 +9,8 @@ namespace Managers
public class ItemResourceManager : Utils.Singleton<ItemResourceManager>, ILaunchManager
{
private ItemResource defaultItem;
private readonly Dictionary<string, Item.ItemResource> _items = new();
private readonly Dictionary<string, List<Item.ItemResource>> _itemsByName = new(); // 保持按显示名称查找的字典
private readonly Dictionary<string, ItemResource> _items = new();
private readonly Dictionary<string, List<ItemResource>> _itemsByName = new(); // 保持按显示名称查找的字典
public string StepDescription => "加载物品定义中";
@ -39,17 +39,17 @@ namespace Managers
continue;
}
Item.ItemResource itemResource;
ItemResource itemResource;
if (def is WeaponDef currentWeaponDef)
{
itemResource = new Item.WeaponResource(
itemResource = new WeaponResource(
currentWeaponDef
);
}
else
{
itemResource = new Item.ItemResource(
itemResource = new ItemResource(
def
);
}
@ -57,26 +57,26 @@ namespace Managers
_items.Add(def.defName, itemResource);
if (!_itemsByName.ContainsKey(itemResource.Name))
{
_itemsByName.Add(itemResource.Name, new List<Item.ItemResource>());
_itemsByName.Add(itemResource.Name, new List<ItemResource>());
}
_itemsByName[itemResource.Name].Add(itemResource);
}
}
public Item.ItemResource GetItem(string defName)
public ItemResource GetItem(string defName)
{
return _items.GetValueOrDefault(defName, defaultItem);
}
public Item.ItemResource FindItemByName(string itemName)
public ItemResource FindItemByName(string itemName)
{
if (string.IsNullOrEmpty(itemName)) return defaultItem;
return _itemsByName.GetValueOrDefault(itemName)?.FirstOrDefault();
}
public List<Item.ItemResource> FindAllItemsByName(string itemName)
public List<ItemResource> FindAllItemsByName(string itemName)
{
if (string.IsNullOrEmpty(itemName)) return new List<Item.ItemResource>();
return _itemsByName.GetValueOrDefault(itemName, new List<Item.ItemResource>());
if (string.IsNullOrEmpty(itemName)) return new List<ItemResource>();
return _itemsByName.GetValueOrDefault(itemName, new List<ItemResource>());
}
public void Clear()