// AUTOMATICALLY GENERATED, DO NOT EDIT
using System;
using System.Runtime.InteropServices;
namespace Creaturelib.Generated
{
internal static class Item
{
/// const char *
/// ItemCategory
/// BattleItemCategory
/// int
/// const char *
/// EffectParameter * *
/// long unsigned int
/// const char *
/// EffectParameter * *
/// long unsigned int
/// const char * *
/// long unsigned int
/// Item *
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_Construct")]
internal static extern IntPtr Construct(IntPtr name, ItemCategory category, BattleItemCategory battleCategory, int price, IntPtr effectName, IntPtr effectParameters, ulong effectParameterCount, IntPtr battleTriggerEffectName, IntPtr battleTriggerEffectParameters, ulong battleTriggerEffectParameterCount, IntPtr flags, ulong flagsCount);
/// const Item *
/// void
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_Destruct")]
internal static extern void Destruct(IntPtr p);
/// const Item *
/// const char *
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_GetName")]
internal static extern IntPtr GetName(IntPtr p);
/// const Item *
/// ItemCategory
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_GetCategory")]
internal static extern ItemCategory GetCategory(IntPtr p);
/// const Item *
/// BattleItemCategory
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_GetBattleCategory")]
internal static extern BattleItemCategory GetBattleCategory(IntPtr p);
/// const Item *
/// int
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_GetPrice")]
internal static extern int GetPrice(IntPtr p);
/// const Item *
/// const char *
/// bool
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_HasFlag")]
internal static extern byte HasFlag(IntPtr p, IntPtr key);
}
}