26 lines
1.0 KiB
C#
26 lines
1.0 KiB
C#
using Framework;
|
|
namespace Gameplay.Character.Utils
|
|
{
|
|
public static class CharacterDataHelper
|
|
{
|
|
public static int GetCharacterSkillId(CharacterDataInfo characterInfo)
|
|
{
|
|
var skillLevelInfo = TableManager.Instance.Tables.CharacterSkillLevel.Get(characterInfo.Cfg.RoleID, (int)characterInfo.UltraSkillLevel);
|
|
var skillGroupId = skillLevelInfo.SkillGroupId;
|
|
var breakLevel = characterInfo.AwakeLevel;
|
|
var skillReferInfo = TableManager.Instance.Tables.SkillReferConfig.Get(skillGroupId);
|
|
var breakLevelIndex = (int)breakLevel;
|
|
var skillId = skillReferInfo.SkillIds[^1];
|
|
if (breakLevelIndex < 0 || breakLevelIndex >= skillReferInfo.SkillIds.Count)
|
|
{
|
|
DebugUtil.LogError("技能组ID:{0} 突破等级:{1} 无法找到对应的技能ID" , skillGroupId, breakLevel);
|
|
}
|
|
else
|
|
{
|
|
skillId = skillReferInfo.SkillIds[breakLevelIndex];
|
|
}
|
|
return skillId;
|
|
}
|
|
}
|
|
}
|