private static ClanSkill GetTrainingSkill(IGameData gameData, CharacterState state, List <ClanSkill> clanSkills) { ClanSkill trainingSkill = null; foreach (var cs in clanSkills) { var skill = gameData.GetSkill(cs.SkillId); var task = state.Task; var taskArg = state.TaskArgument; if (string.IsNullOrEmpty(task)) { continue; } if (task.Equals(skill.Name, StringComparison.OrdinalIgnoreCase) || (!string.IsNullOrEmpty(taskArg) && taskArg.Equals(skill.Name, StringComparison.OrdinalIgnoreCase))) { trainingSkill = cs; break; } } return(trainingSkill); }
private static SkillStat Map(ClanSkill s) { return(new SkillStat { CurrentValue = s.Level, Level = s.Level, Experience = s.Experience, Name = s.Name }); }
private static void EnsureClanSkills(IGameData gameData, Clan clan, IReadOnlyList <ClanSkill> clanSkills) { foreach (var s in gameData .GetSkills() .Where(x => x.RequiredClanLevel <= clan.Level && !clanSkills.Any(y => y.SkillId == x.Id))) { var newSkill = new ClanSkill { Id = Guid.NewGuid(), ClanId = clan.Id, Experience = 0, Level = 1, SkillId = s.Id }; gameData.Add(newSkill); } }