public override void Parse(AchievementObjectiveRecord objective)
        {
            base.m_defaultObjective = objective;

            var criterions = objective.Criterion.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var item in criterions)
            {
                var match = Regex.Match(item, "(?<name>[a-zA-Z]{2})(?<operator>[<=>]{1})(?<content>.*)");
                if (match.Success)
                {
                    this.m_criterions.Add(this.Parse(
                                              AbstractCriterion.GetOperator(match.Groups["operator"].Value[0]),
                                              match.Groups["content"].Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)));
                }
                else
                {
                    throw new Exception();
                }
            }
        }
Exemplo n.º 2
0
 public override bool Greater(AbstractCriterion left)
 {
     return(this.Points > ((AchievementPointsCriterion)left).Points);
 }
 public override bool Greater(AbstractCriterion left)
 {
     return(this.Number > ((KillMonsterWithChallengeCriterion)left).Number);
 }
Exemplo n.º 4
0
 public override bool Lower(AbstractCriterion left)
 {
     return(this.Points < ((ChallengesCriterion)left).Points);
 }
Exemplo n.º 5
0
 public override bool Greater(AbstractCriterion left)
 {
     return(this.Level > ((LevelCriterion)left).Level);
 }