using SepCore.Battle;
using SepCore.Definition;
namespace SepCore.UI
{
///
/// 战斗单位视图的显示辅助:名称与图标解析。
/// 玩家图标来自 CharacterConfig.Icon_Ref,敌人图标来自 EnemyConfig.Icon_Ref。
///
public static class BattleUnitViewHelper
{
///
/// 获取单位显示名;配置缺失时回退为配置 ID。
///
public static string GetDisplayName(BattleUnitView unit)
{
if (unit == null)
{
return string.Empty;
}
if (unit.Faction == BattleFaction.Player)
{
CharacterConfig config = GameEntry.Luban.Get(unit.ConfigId);
return config != null ? config.Name : unit.ConfigId.ToString();
}
else
{
EnemyConfig config = GameEntry.Luban.Get(unit.ConfigId);
return config != null ? config.Name : unit.ConfigId.ToString();
}
}
///
/// 获取玩家单位图标配置;配置缺失时返回 null。
///
public static SpriteConfig GetPlayerIconConfig(int characterId)
{
CharacterConfig config = GameEntry.Luban.Get(characterId);
return config != null ? config.Icon_Ref : null;
}
///
/// 获取敌人单位图标配置;配置缺失时返回 null。
///
public static SpriteConfig GetEnemyIconConfig(int enemyId)
{
EnemyConfig config = GameEntry.Luban.Get(enemyId);
return config != null ? config.Icon_Ref : null;
}
}
}