private void ManageCriterions()
        {
            this.m_levelCriterion             = Singleton <AchievementManager> .Instance.MinLevelCriterion;
            this.m_achievementPointsCriterion = Singleton <AchievementManager> .Instance.MinAchievementPointsCriterion;

            this.ManageIncrementalCriterions(ref this.m_levelCriterion);
            this.ManageIncrementalCriterions(ref this.m_challengesCriterion);
            this.ManageIncrementalCriterions(ref this.m_achievementPointsCriterion);
        }
        public static Criterion CreateCriterionByName(string name)
        {
            Criterion result;

            if (!StatsCriterion.IsStatsIdentifier(name))
            {
                switch (name)
                {
                case "PX":
                    result = new AdminRightsCriterion();
                    return(result);

                case "Pa":
                    result = new AlignementLevelCriterion();
                    return(result);

                case "Ps":
                    result = new AlignmentCriterion();
                    return(result);

                case "PU":
                    result = new BonesCriterion();
                    return(result);

                case "PG":
                    result = new BreedCriterion();
                    return(result);

                case "PE":
                    result = new EmoteCriterion();
                    return(result);

                case "Pb":
                    result = new FriendListCriterion();
                    return(result);

                case "Pg":
                    result = new GiftCriterion();
                    return(result);

                case "PO":
                    result = new HasItemCriterion();
                    return(result);

                case "PJ":
                    result = new JobCriterion();
                    return(result);

                case "PK":
                    result = new KamaCriterion();
                    return(result);

                case "PL":
                    result = new LevelCriterion();
                    return(result);

                case "MK":
                    result = new MapCharactersCriterion();
                    return(result);

                case "PR":
                    result = new MariedCriterion();
                    return(result);

                case "P¨Q":
                    result = new MaxRankCriterion();
                    return(result);

                case "SG":
                    result = new MonthCriterion();
                    return(result);

                case "PN":
                    result = new NameCriterion();
                    return(result);

                case "Pe":
                    result = new PreniumAccountCriterion();
                    return(result);

                case "PP":
                case "Pp":
                    result = new PvpRankCriterion();
                    return(result);

                case "Qa":
                    result = new QuestActiveCriterion();
                    return(result);

                case "Qf":
                    result = new QuestDoneCriterion();
                    return(result);

                case "Qc":
                    result = new QuestStartableCriterion();
                    return(result);

                case "Pq":
                    result = new RankCriterion();
                    return(result);

                case "Pf":
                    result = new RideCriterion();
                    return(result);

                case "SI":
                    result = new ServerCriterion();
                    return(result);

                case "PS":
                    result = new SexCriterion();
                    return(result);

                case "Pi":
                case "PI":
                    result = new SkillCriterion();
                    return(result);

                case "PA":
                    result = new SoulStoneCriterion();
                    return(result);

                case "Pr":
                    result = new SpecializationCriterion();
                    return(result);

                case "Sc":
                    result = new StaticCriterion();
                    return(result);

                case "PB":
                    result = new SubAreaCriterion();
                    return(result);

                case "PZ":
                    result = new SubscribeCriterion();
                    return(result);

                case "BI":
                    result = new UnusableCriterion();
                    return(result);

                case "PW":
                    result = new WeightCriterion();
                    return(result);

                case "Px":
                    result = new GuildRightsCriterion();
                    return(result);

                case "Ox":
                    result = new AllianceRightsCriterion();
                    return(result);

                case "Oc":
                    result = new IgnoreCriterion();
                    return(result);
                }
                throw new System.Exception(string.Format("Criterion {0} doesn't not exist or not handled", name));
            }
            result = new StatsCriterion(name);
            return(result);
        }