using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using UnityEngine;
namespace Adobe.Substance
{
///
/// Utility class for dynamically import substance plugin.
///
internal class DLLHelpers
{
[DllImport("kernel32", SetLastError = true)]
protected static extern IntPtr LoadLibraryW([MarshalAs(UnmanagedType.LPWStr)] string lpFileName);
[DllImport("kernel32.dll", EntryPoint = "GetProcAddress", SetLastError = true)]
protected static extern IntPtr GetProcAddress(IntPtr hModule, string procname);
[DllImport("kernel32.dll", SetLastError = true)]
private static extern bool FreeLibrary(IntPtr hModule);
[DllImport("libdl")]
protected static extern IntPtr dlopen(string filename, int flags);
[DllImport("libdl")]
protected static extern IntPtr dlsym(IntPtr handle, string symbol);
[DllImport("libdl")]
protected static extern IntPtr dlerror();
[DllImport("libdl")]
protected static extern int dlclose(IntPtr handle);
internal static IntPtr DllHandle = IntPtr.Zero;
private static object[] mParams = new object[0];
internal static object[] GetParams(int size)
{
Array.Resize