Exemplo n.º 1
0
	    //[MenuItem("ILRuntime/Generate CLR Binding Code by Analysis")]
	    public static void GenerateCLRBindingByAnalysis()
	    {
            if (Directory.Exists(GeneratedPath))
                Directory.Delete(GeneratedPath, true);

            GenerateCLRBinding();

            //用新的分析热更dll调用引用来生成绑定代码
            ILRuntime.Runtime.Enviorment.AppDomain domain = new ILRuntime.Runtime.Enviorment.AppDomain();
            using (System.IO.FileStream fs = new System.IO.FileStream(Utility.Path.GetCombinePath(RuntimeAssetUtility.HotfixPath, RuntimeAssetUtility.HotfixDllName), System.IO.FileMode.Open, System.IO.FileAccess.Read))
	        {
	            domain.LoadAssembly(fs);
	        }
	        //Crossbind Adapter is needed to generate the correct binding code
	        ILRuntimeUtility.InitILRuntime(domain);
            try
            {
                ILRuntime.Runtime.CLRBinding.BindingCodeGenerator.GenerateBindingCode(domain, GeneratedPath);
            }
            catch (Exception)
            {
            }

            AssetDatabase.Refresh();
	    }
Exemplo n.º 2
0
 static void GenerateCLRBindingByAnalysis()
 {
     //用新的分析热更dll调用引用来生成绑定代码
     ILRuntime.Runtime.Enviorment.AppDomain domain = new ILRuntime.Runtime.Enviorment.AppDomain();
     using (System.IO.FileStream fs = new System.IO.FileStream("Assets/GameMain/HotfixDLL/Hotfix.dll.bytes", System.IO.FileMode.Open, System.IO.FileAccess.Read))
     {
         domain.LoadAssembly(fs);
     }
     //Crossbind Adapter is needed to generate the correct binding code
     ILRuntimeUtility.InitILRuntime(domain);
     ILRuntime.Runtime.CLRBinding.BindingCodeGenerator.GenerateBindingCode(domain, "Assets/GameMain/Scripts/ILRuntime/Generated");
     AssetDatabase.Refresh();
 }