// AUTOMATICALLY GENERATED, DO NOT EDIT
using System;
using System.Runtime.InteropServices;

namespace Creaturelibbattling.Generated
{
    internal static class BaseTurnChoice
    {
        /// <param name="p">const BaseTurnChoice *</param>
        /// <returns>void</returns>
        [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_Destruct")]
        internal static extern void Destruct(IntPtr p);

        /// <param name="p">const BaseTurnChoice *</param>
        /// <returns>TurnChoiceKind</returns>
        [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetKind")]
        internal static extern TurnChoiceKind GetKind(IntPtr p);

        /// <param name="p">const BaseTurnChoice *</param>
        /// <returns>Creature *</returns>
        [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetUser")]
        internal static extern IntPtr GetUser(IntPtr p);

        /// <param name="out">signed char&</param>
        /// <param name="p">AttackTurnChoice *</param>
        /// <returns>unsigned char</returns>
        [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetPriority")]
        internal static extern byte GetPriority(ref sbyte @out, IntPtr p);

        /// <param name="p">const AttackTurnChoice *</param>
        /// <returns>unsigned char</returns>
        [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetTargetSideIndex")]
        internal static extern byte GetTargetSideIndex(IntPtr p);

        /// <param name="p">const AttackTurnChoice *</param>
        /// <returns>unsigned char</returns>
        [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetTargetCreatureIndex")]
        internal static extern byte GetTargetCreatureIndex(IntPtr p);

    }
}
