// AUTOMATICALLY GENERATED, DO NOT EDIT
using System;
using System.Runtime.InteropServices;
namespace Pkmnlib.Generated
{
internal static class Evolution
{
/// TimeOfDay
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateTimeEvolution")]
internal static extern IntPtr CreateTimeEvolution(TimeOfDay time, IntPtr into);
/// const Item *
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateItemEvolution")]
internal static extern IntPtr CreateItemEvolution(IntPtr item, IntPtr into);
/// Gender
/// unsigned char
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateGenderBasedEvolution")]
internal static extern IntPtr CreateGenderBasedEvolution(Gender gender, byte level, IntPtr into);
/// const Item *
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateItemUseEvolution")]
internal static extern IntPtr CreateItemUseEvolution(IntPtr item, IntPtr into);
/// const Item *
/// Gender
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateItemUseWithGenderEvolution")]
internal static extern IntPtr CreateItemUseWithGenderEvolution(IntPtr item, Gender gender, IntPtr into);
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateTradeEvolution")]
internal static extern IntPtr CreateTradeEvolution(IntPtr into);
/// const Item *
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateTradeWithItemEvolution")]
internal static extern IntPtr CreateTradeWithItemEvolution(IntPtr item, IntPtr into);
/// const PokemonSpecies *
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateTradeWithSpeciesEvolution")]
internal static extern IntPtr CreateTradeWithSpeciesEvolution(IntPtr traded, IntPtr into);
/// const EffectParameter * *
/// long unsigned int
/// const PokemonSpecies *
/// const EvolutionData *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_CreateCustomEvolution")]
internal static extern IntPtr CreateCustomEvolution(IntPtr data, ulong dataLength, IntPtr into);
/// const EvolutionData *
/// EvolutionMethod
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_GetMethod")]
internal static extern EvolutionMethod GetMethod(IntPtr data);
/// const EvolutionData *
/// const PokemonSpecies *
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_GetNewSpecies")]
internal static extern IntPtr GetNewSpecies(IntPtr data);
/// const EvolutionData *
/// long unsigned int
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_GetDataCount")]
internal static extern ulong GetDataCount(IntPtr data);
/// const EvolutionData *
/// long unsigned int
/// const EffectParameter * &
/// unsigned char
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Evolution_GetData")]
internal static extern byte GetData(IntPtr data, ulong index, ref IntPtr @out);
}
}