diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/ShowAllCharacter/CharacterDataInfo.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/ShowAllCharacter/CharacterDataInfo.cs index 33dbb3d19fe..ad73fd5aa22 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/ShowAllCharacter/CharacterDataInfo.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/ShowAllCharacter/CharacterDataInfo.cs @@ -214,45 +214,51 @@ public class CharacterDataInfoManager : Singlenton, II public List GetCommanderProvideJobs(uint id) { var jobs = new List(); + DataCharacterAttri cfg = null; if (DataDic.TryGetValue(id, out var characterDataInfo)) { - if (characterDataInfo.Cfg.Job != Ejob.Job_Commander) - { - DebugUtil.LogError("该角色不为指挥官{0}", id); - return jobs; - } - var provideJobs = characterDataInfo.Cfg.ProvideJob; - if (provideJobs.Length == 0) - { - DebugUtil.LogError("该指挥官{0}推荐职位为空", id); - return jobs; - } - - var vehicleList = new List(); - var characterList = new List(); - - foreach (var job in provideJobs) - { - if (job == ProvideJob.ProvideJob_None) - { - DebugUtil.LogError("该指挥官{0}配置的推荐职业包含空"); - continue; - } - - if (job == ProvideJob.ProvideJob_Vehicle) - { - vehicleList.Add(job); - } - else - { - characterList.Add(job); - } - - } - jobs.AddRange(vehicleList); - jobs.AddRange(characterList); + cfg = characterDataInfo.Cfg; + } + else + { + cfg = TableManager.Instance.Tables.CharacterAttri.GetOrDefault((int)id); } + if (cfg.Job != Ejob.Job_Commander) + { + DebugUtil.LogError("该角色不为指挥官{0}", id); + return jobs; + } + var provideJobs = cfg.ProvideJob; + if (provideJobs.Length == 0) + { + DebugUtil.LogError("该指挥官{0}推荐职位为空", id); + return jobs; + } + + var vehicleList = new List(); + var characterList = new List(); + + foreach (var job in provideJobs) + { + if (job == ProvideJob.ProvideJob_None) + { + DebugUtil.LogError("该指挥官{0}配置的推荐职业包含空"); + continue; + } + + if (job == ProvideJob.ProvideJob_Vehicle) + { + vehicleList.Add(job); + } + else + { + characterList.Add(job); + } + + } + jobs.AddRange(vehicleList); + jobs.AddRange(characterList); return jobs; }