コード例 #1
0
ファイル: ClanProcessor.cs プロジェクト: zerratar/RavenNest
        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);
        }
コード例 #2
0
 private static SkillStat Map(ClanSkill s)
 {
     return(new SkillStat
     {
         CurrentValue = s.Level,
         Level = s.Level,
         Experience = s.Experience,
         Name = s.Name
     });
 }
コード例 #3
0
ファイル: ClanProcessor.cs プロジェクト: zerratar/RavenNest
        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);
            }
        }