public static PBELocalizedString GetAbilityName(PBEAbility ability)
 {
     if (ability >= PBEAbility.MAX)
     {
         throw new ArgumentOutOfRangeException(nameof(ability));
     }
     return(new PBELocalizedString(PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryId, "AbilityNames", (byte)ability))[0]));
 }
 public static PBELocalizedString GetStatName(PBEStat stat)
 {
     if (!Enum.IsDefined(typeof(PBEStat), stat))
     {
         throw new ArgumentOutOfRangeException(nameof(stat));
     }
     return(new PBELocalizedString(PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryId, "StatNames", (byte)stat))[0]));
 }
 public static PBELocalizedString GetSpeciesName(PBESpecies species)
 {
     if (species <= 0 || species >= PBESpecies.MAX)
     {
         throw new ArgumentOutOfRangeException(nameof(species));
     }
     return(new PBELocalizedString(PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryId, "SpeciesNames", (ushort)species))[0]));
 }
 public static PBELocalizedString GetItemName(PBEItem item)
 {
     if (!Enum.IsDefined(typeof(PBEItem), item))
     {
         throw new ArgumentOutOfRangeException(nameof(item));
     }
     return(new PBELocalizedString(PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryId, "ItemNames", (ushort)item))[0]));
 }
 public static PBELocalizedString GetGenderName(PBEGender gender)
 {
     if (gender >= PBEGender.MAX)
     {
         throw new ArgumentOutOfRangeException(nameof(gender));
     }
     return(new PBELocalizedString(PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryId, "GenderNames", (byte)gender))[0]));
 }
 public static PBELocalizedString GetTypeName(PBEType type)
 {
     if (type >= PBEType.MAX)
     {
         throw new ArgumentOutOfRangeException(nameof(type));
     }
     return(new PBELocalizedString(PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryId, "TypeNames", (byte)type))[0]));
 }
 public static PBELocalizedString GetMoveName(PBEMove move)
 {
     if (move >= PBEMove.MAX)
     {
         throw new ArgumentOutOfRangeException(nameof(move));
     }
     return(new PBELocalizedString(PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryId, "MoveNames", (ushort)move))[0]));
 }
예제 #8
0
        public static void InitEngine(string databasePath, int?randomSeed = null, PBEDataProvider dataProvider = null)
        {
            InitDB(databasePath);
            var cultureInfo = CultureInfo.ReadOnly(CultureInfo.CurrentUICulture);

            PBECulture   = PBELocalizedString.IsCultureValid(cultureInfo) ? cultureInfo : CultureInfo.GetCultureInfo("en-US");
            GlobalRandom = new PBERandom(randomSeed);
            Instance     = dataProvider ?? new PBEDataProvider();
        }
        public static PBEType?GetTypeByName(string typeName)
        {
            PBEType             type;
            List <SearchResult> results = PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryText, "TypeNames", typeName));

            if (results.Count == 1)
            {
                type = (PBEType)results[0].Id;
            }
            else if (!GetEnumValue(typeName, out type))
            {
                return(null);
            }
            return(type);
        }
        public static PBEStat?GetStatByName(string statName)
        {
            PBEStat             stat;
            List <SearchResult> results = PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryText, "StatNames", statName));

            if (results.Count == 1)
            {
                stat = (PBEStat)results[0].Id;
            }
            else if (!GetEnumValue(statName, out stat))
            {
                return(null);
            }
            return(stat);
        }
        public static PBESpecies?GetSpeciesByName(string speciesName)
        {
            PBESpecies          species;
            List <SearchResult> results = PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryText, "SpeciesNames", speciesName));

            if (results.Count == 1)
            {
                species = (PBESpecies)results[0].Id;
            }
            else if (!GetEnumValue(speciesName, out species))
            {
                return(null);
            }
            return(species);
        }
        public static PBENature?GetNatureByName(string natureName)
        {
            PBENature           nature;
            List <SearchResult> results = PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryText, "NatureNames", natureName));

            if (results.Count == 1)
            {
                nature = (PBENature)results[0].Id;
            }
            else if (!GetEnumValue(natureName, out nature) || nature == PBENature.MAX)
            {
                return(null);
            }
            return(nature);
        }
        public static PBEMove?GetMoveByName(string moveName)
        {
            PBEMove             move;
            List <SearchResult> results = PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryText, "MoveNames", moveName));

            if (results.Count == 1)
            {
                move = (PBEMove)results[0].Id;
            }
            else if (!GetEnumValue(moveName, out move) || move == PBEMove.MAX)
            {
                return(null);
            }
            return(move);
        }
        public static PBEItem?GetItemByName(string itemName)
        {
            PBEItem             item;
            List <SearchResult> results = PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryText, "ItemNames", itemName));

            if (results.Count == 1)
            {
                item = (PBEItem)results[0].Id;
            }
            else if (!GetEnumValue(itemName, out item))
            {
                return(null);
            }
            return(item);
        }
        public static PBEGender?GetGenderByName(string genderName)
        {
            PBEGender           gender;
            List <SearchResult> results = PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryText, "GenderNames", genderName));

            if (results.Count == 1)
            {
                gender = (PBEGender)results[0].Id;
            }
            else if (!GetEnumValue(genderName, out gender) || gender == PBEGender.MAX)
            {
                return(null);
            }
            return(gender);
        }
        public static PBEForm?GetFormByName(PBESpecies species, string formName)
        {
            PBEForm form;
            List <FormNameSearchResult> results = PBEDataProvider.QueryDatabase <FormNameSearchResult>(string.Format(QuerySpeciesAndText, "FormNames", formName, (ushort)species));

            if (results.Count == 1)
            {
                form = (PBEForm)results[0].Form;
            }
            else if (!GetEnumValue(formName, out form))
            {
                return(null);
            }
            return(form);
        }
        public static PBEAbility?GetAbilityByName(string abilityName)
        {
            PBEAbility          ability;
            List <SearchResult> results = PBEDataProvider.QueryDatabase <SearchResult>(string.Format(QueryText, "AbilityNames", abilityName));

            if (results.Count == 1)
            {
                ability = (PBEAbility)results[0].Id;
            }
            else if (!GetEnumValue(abilityName, out ability) || ability == PBEAbility.MAX)
            {
                return(null);
            }
            return(ability);
        }
예제 #18
0
 public static void InitEngine(string databasePath, CultureInfo cultureInfo, int?randomSeed = null, PBEDataProvider dataProvider = null)
 {
     if (cultureInfo is null)
     {
         throw new ArgumentNullException(nameof(cultureInfo));
     }
     InitDB(databasePath);
     cultureInfo  = CultureInfo.ReadOnly(cultureInfo);
     PBECulture   = PBELocalizedString.IsCultureValid(cultureInfo) ? cultureInfo : throw new ArgumentOutOfRangeException(nameof(cultureInfo));
     GlobalRandom = new PBERandom(randomSeed);
     Instance     = dataProvider ?? new PBEDataProvider();
 }
 public static PBELocalizedString GetFormName(PBESpecies species, PBEForm form)
 {
     PBELegalityChecker.ValidateSpecies(species, form, false);
     return(new PBELocalizedString(PBEDataProvider.QueryDatabase <FormNameSearchResult>(string.Format(QuerySpecies, "FormNames", (ushort)species, (byte)form))[0]));
 }