using System; using System.Runtime.InteropServices; using PkmnLibSharp.StaticData; namespace PkmnLibSharp.FFI.StaticData { internal static class Species { [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern IdentifiablePointer species_new(ushort id, IntPtr name, float genderRate, IntPtr growthRate, byte captureRate, IntPtr defaultForm, IntPtr flags, ulong flagsLength); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern void species_drop(IntPtr ptr); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern ushort species_id(IntPtr ptr); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr species_name(IntPtr ptr); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern float species_gender_rate(IntPtr ptr); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr species_growth_rate(IntPtr ptr); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern byte species_capture_rate(IntPtr ptr); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr species_add_form(IntPtr ptr, IntPtr name, IntPtr form); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern IdentifiablePointer species_get_form(IntPtr ptr, IntPtr name); [DllImport(Data.DllName, CallingConvention = CallingConvention.Cdecl)] internal static extern Gender species_get_random_gender(IntPtr ptr, ulong seed); } }