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

namespace Creaturelib.Generated
{
    internal static class HitData
    {
        /// <param name="p">const HitData *</param>
        /// <returns>bool</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_IsCritical")]
        internal static extern byte IsCritical(IntPtr p);

        /// <param name="p">const HitData *</param>
        /// <returns>unsigned char</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_GetBasePower")]
        internal static extern byte GetBasePower(IntPtr p);

        /// <param name="p">const HitData *</param>
        /// <returns>float</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_GetEffectiveness")]
        internal static extern float GetEffectiveness(IntPtr p);

        /// <param name="p">const HitData *</param>
        /// <returns>unsigned int</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_GetDamage")]
        internal static extern uint GetDamage(IntPtr p);

        /// <param name="p">const HitData *</param>
        /// <returns>unsigned char</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_GetType")]
        internal static extern byte GetType(IntPtr p);

        /// <param name="p">HitData *</param>
        /// <param name="val">bool</param>
        /// <returns>void</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_SetCritical")]
        internal static extern void SetCritical(IntPtr p, byte val);

        /// <param name="p">HitData *</param>
        /// <param name="val">unsigned char</param>
        /// <returns>void</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_SetBasePower")]
        internal static extern void SetBasePower(IntPtr p, byte val);

        /// <param name="p">HitData *</param>
        /// <param name="val">float</param>
        /// <returns>void</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_SetEffectiveness")]
        internal static extern void SetEffectiveness(IntPtr p, float val);

        /// <param name="p">HitData *</param>
        /// <param name="val">unsigned int</param>
        /// <returns>void</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_SetDamage")]
        internal static extern void SetDamage(IntPtr p, uint val);

        /// <param name="p">HitData *</param>
        /// <param name="val">unsigned char</param>
        /// <returns>void</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_HitData_SetType")]
        internal static extern void SetType(IntPtr p, byte val);

    }
}
