(client) feat:添加临时动画组件,添加逃跑逻辑

This commit is contained in:
m0_75251201
2025-09-06 12:25:55 +08:00
parent f43aeffebf
commit 15cdd2b244
73 changed files with 3420 additions and 6055 deletions

View File

@ -34,7 +34,7 @@ namespace Managers
/// <summary>
/// 获取当前启动步骤的描述。
/// </summary>
public string StepDescription { get; private set; } = "图像管理器正在准备中...";
public string StepDescription { get; } = "图像管理器正在加载中";
/// <summary>
/// 初始化图像管理器,加载默认精灵并处理所有 ImageDef 定义。
@ -240,7 +240,6 @@ namespace Managers
{
packagesImages.Clear();
sprites.Clear();
StepDescription = "包图像管理器数据已清理。"; // 更新状态
}
/// <summary>
@ -263,40 +262,9 @@ namespace Managers
/// <returns>如果找到对应的精灵,则返回该精灵;否则返回 <see cref="defaultSprite"/>。</returns>
public Sprite GetSprite(ImageDef ima)
{
if (ima == null) return defaultSprite;
return GetSprite(ima.packID, ima.defName);
return ima == null ? defaultSprite : GetSprite(ima.defName);
}
/// <summary>
/// 根据包ID和精灵名称获取对应的精灵。
/// </summary>
/// <param name="packID">精灵所属的包ID。此参数在此版本中已不再用于字典查找但为保持兼容性而保留。</param>
/// <param name="name">精灵的名称全局唯一的DefName。</param>
/// <returns>如果找到对应的精灵,则返回该精灵;否则返回 <see cref="defaultSprite"/>。</returns>
public Sprite GetSprite(string packID, string name)
{
if (sprites.TryGetValue(name, out var sprite))
return sprite;
// 如果未找到,返回默认精灵
return defaultSprite;
}
/// <summary>
/// 根据包ID、基础名称和索引获取被分割的子精灵。
/// </summary>
/// <param name="packID">精灵所属的包ID。此参数在此版本中已不再用于字典查找但为保持兼容性而保留。</param>
/// <param name="name">精灵的基础名称全局唯一的DefName。</param>
/// <param name="index">子精灵的索引。</param>
/// <returns>如果找到对应的子精灵,则返回该精灵;否则返回 <see cref="defaultSprite"/>。</returns>
public Sprite GetSprite(string packID, string name, int index)
{
var fullName = $"{name}_{index}";
return GetSprite(packID, fullName);
}
// ---------- 新增的查询接口 ----------
/// <summary>
/// 根据精灵名称全局唯一的DefName获取对应的精灵。
/// </summary>
@ -304,9 +272,7 @@ namespace Managers
/// <returns>如果找到对应的精灵,则返回该精灵;否则返回 <see cref="defaultSprite"/>。</returns>
public Sprite GetSprite(string name)
{
if (sprites.TryGetValue(name, out var sprite))
return sprite;
return defaultSprite;
return sprites.GetValueOrDefault(name, defaultSprite);
}
/// <summary>
@ -320,5 +286,12 @@ namespace Managers
var fullName = $"{name}_{index}";
return GetSprite(fullName);
}
public Sprite[] GetSprites(string[] names)
{
if (names == null || names.Length == 0)
return new[] { defaultSprite };
return names.Select(name => GetSprite(name)).ToArray();
}
}
}