// AUTOMATICALLY GENERATED, DO NOT EDIT
using System;
using System.Runtime.InteropServices;
namespace Creaturelib.Generated
{
internal static class LearnedAttack
{
/// LearnedAttack * &
/// const AttackData *
/// unsigned char
/// AttackLearnMethod
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_Construct")]
internal static extern byte Construct(ref IntPtr @out, IntPtr attack, byte maxUses, AttackLearnMethod learnMethod);
/// LearnedAttack *
/// void
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_Destruct")]
internal static extern void Destruct(IntPtr p);
/// const LearnedAttack *
/// const AttackData *
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_GetAttack")]
internal static extern IntPtr GetAttack(IntPtr p);
/// const LearnedAttack *
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_GetMaxUses")]
internal static extern byte GetMaxUses(IntPtr p);
/// const LearnedAttack *
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_GetRemainingUses")]
internal static extern byte GetRemainingUses(IntPtr p);
/// const LearnedAttack *
/// AttackLearnMethod
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_GetLearnMethod")]
internal static extern AttackLearnMethod GetLearnMethod(IntPtr p);
/// LearnedAttack *
/// unsigned char
/// bool
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_TryUse")]
internal static extern byte TryUse(IntPtr p, byte uses);
/// LearnedAttack *
/// unsigned char
/// void
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_DecreaseUses")]
internal static extern void DecreaseUses(IntPtr p, byte uses);
/// LearnedAttack *
/// unsigned char
/// void
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_RestoreUses")]
internal static extern void RestoreUses(IntPtr p, byte uses);
/// LearnedAttack *
/// void
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LearnedAttack_RestoreAllUses")]
internal static extern void RestoreAllUses(IntPtr p);
}
}