public Operator(string key, Character character) { OperatorId = ArknightUtil.GetId(key); OperatorCode = key; Name = character.Name; Description = ArknightUtil.RemoveBrackets(character.Description); Team = ArknightUtil.GetTeam(character.Team); DisplayNumber = character.DisplayNumber; Position = character.Position; DisplayLogo = character.DisplayLogo; ItemUsage = character.ItemUsage; ItemDesc = character.ItemDesc; ItemObtainApproach = character.ItemObtainApproach; IsNotObtainable = character.IsNotObtainable; Rarity = ArknightUtil.CalculateRarity(character.Rarity); Profession = ArknightUtil.GetClass(character.Profession); TagList = ArknightUtil.JoinListTag(character.TagList); if (character.Trait != null) { Trait = ArknightUtil.RemoveBrackets(character.Trait.OverrideDescription); } Elites = new List <Elite>(); foreach (Phase p in character.Phases) { Elite e = new Elite(p); Elites.Add(e); } Skills = new List <Skill>(); foreach (DTO.ArknightData.Skill s in character.Skills) { var skill = new Skill(s); Skills.Add(skill); } Talents = new List <Talent>(); if (character.Talents != null) { foreach (DTO.ArknightData.Talent t in character.Talents) { if (t.Candidates != null) { foreach (Candidate c in t.Candidates) { var talent = new Talent(c); Talents.Add(talent); } } } } AllSkillUps = new List <AllSkillUp>(); if (character.AllSkillLvlup != null) { int index = 1; foreach (AllSkillLvlup all in character.AllSkillLvlup) { var allSkill = new AllSkillUp(all, index); AllSkillUps.Add(allSkill); index++; } } Potentials = new List <Potential>(); if (character.PotentialRanks != null) { int index = 1; foreach (var p in character.PotentialRanks) { Potentials.Add(new Potential(p, index)); index++; } } }