protected string[] MarshalPluginArray(IntPtr p_ptrPluginArray, UInt32 p_uintLength)
{
if (p_ptrPluginArray == IntPtr.Zero)
return null;
string[] strPlugins = null;
using (StringArrayManualMarshaler ammMarshaler = new StringArrayManualMarshaler("UTF8"))
strPlugins = ammMarshaler.MarshalNativeToManaged(p_ptrPluginArray, Convert.ToInt32(p_uintLength));
for (Int32 i = strPlugins.Length - 1; i >= 0; i--)
strPlugins[i] = Path.Combine(GameMode.PluginDirectory, strPlugins[i]);
return strPlugins;
}