47 lines
942 B
C#

using System;
using System.Runtime.CompilerServices;
namespace UnityEngine
{
internal class UnityDomainLoad
{
private static AppDomain gActiveDomain;
public static void Main()
{
RegisterDomainAndLoadAssemblies();
}
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern void RegisterDomainAndLoadAssemblies();
public static void CreateDomainAndLoad(string domainLoadPath)
{
gActiveDomain = null;
AppDomain appDomain = AppDomain.CreateDomain("UnityRuntimeDomain");
if (appDomain != null)
{
appDomain.ExecuteAssembly(domainLoadPath);
gActiveDomain = appDomain;
}
else
{
Console.WriteLine("FAILED TO Create Domain");
}
}
public static void UnloadDomain()
{
if (gActiveDomain != null)
{
AppDomain.Unload(gActiveDomain);
gActiveDomain = null;
}
else
{
Console.WriteLine("FAILED TO UNLOAD DOMAIN BECAUSE GLOBAL WAS CLEARED");
}
}
}
}