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

namespace Creaturelib.Generated
{
    internal static class ScriptResolver
    {
        /// <returns>ScriptResolver *</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_ScriptResolver_Construct")]
        internal static extern IntPtr Construct();

        /// <param name="p">const ScriptResolver *</param>
        /// <returns>void</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_ScriptResolver_Destruct")]
        internal static extern void Destruct(IntPtr p);

        /// <param name="p">ScriptResolver *</param>
        /// <param name="library">BattleLibrary *</param>
        /// <returns>unsigned char</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_ScriptResolver_Initialize")]
        internal static extern byte Initialize(IntPtr p, IntPtr library);

        /// <param name="out">Script * &</param>
        /// <param name="p">ScriptResolver *</param>
        /// <param name="category">ScriptCategory</param>
        /// <param name="scriptName">const char *</param>
        /// <returns>unsigned char</returns>
        [DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_ScriptResolver_LoadScript")]
        internal static extern byte LoadScript(ref IntPtr @out, IntPtr p, ScriptCategory category, IntPtr scriptName);

    }
}
