using System; using Pkmnlib.Generated; using PkmnLibSharp.Utilities; namespace PkmnLibSharp.Library { public class Species : PointerWrapper { // ReSharper disable once SuggestBaseTypeForParameter private Species(IntPtr ptr) : base(ptr) { } public static Species Create(ushort id, string name, Forme defaultForme, float genderRatio, string growthRate, byte captureRate, byte baseHappiness) { var ptr = IntPtr.Zero; PokemonSpecies.Construct(ref ptr, id, name.ToPtr(), defaultForme.Ptr, genderRatio, growthRate.ToPtr(), captureRate, baseHappiness).Assert(); return new Species(ptr); } internal override void DeletePtr() { PokemonSpecies.Destruct(Ptr); } } }