static void GenerateAll() { ILRuntimeCodeGenerator.EditorGenerate(); AssetDatabase.Refresh(); ILRuntimeCLRBinding.GenerateCLRBindingByAnalysis(); AssetDatabase.Refresh(); }
static void CleanAdapter() { ILRuntimeCLRBinding.cleanAll(); }
static void GenerateAdapter() { ILRuntimeCLRBinding.GenerateAll(); }
static void GenerateCLRBindingByAnalysis() { ILRuntimeCLRBinding.GenerateCLRBindingByAnalysis(); Ctrl.print("OK"); }
public static void TryCLRPlatformLobbyCode() { Debug.Log("CLRBingding 开始"); ILRuntimeCLRBinding.GenerateCLRBindingByAnalysis(); Debug.Log("CLRBingding成功"); }
public static void GenerateCLRBindingByAnalysis() { ILRuntimeCLRBinding.GenerateCLRBindingByAnalysis(); }
static void GenerateCrossBindingCode() { // fout = new FileStream(zipFilePath, FileMode.CreateNew, FileAccess.Write); List <Type> types = new List <Type>(); // types.Add(typeof(EB.Sparx.SparxAPI)); types.Add(typeof(System.Collections.IEnumerable)); types.Add(typeof(DataLookILRObject)); // types.Add(typeof(DynamicMonoILRObject)); types.Add(typeof(GameEvent)); types.Add(typeof(LogicILRObject)); types.Add(typeof(FlatBuffers.Table)); types.Add(typeof(UIControllerILRObject)); types.Add(typeof(IComparer <String>)); types.Add(typeof(IComparer <ILRuntime.Runtime.Intepreter.ILTypeInstance>)); types.Add(typeof(IComparer <DynamicMonoILRObjectAdaptor.Adaptor>)); types.Add(typeof(IComparer <System.Collections.Generic.KeyValuePair <ILRuntime.Runtime.GeneratedAdapter.IComparable_1_ILTypeInstanceAdapter.Adapter, ILRuntime.Runtime.Intepreter.ILTypeInstance> >)); types.Add(typeof(IComparable)); types.Add(typeof(IComparable <ILRuntime.Runtime.Intepreter.ILTypeInstance>)); types.Add(typeof(IEqualityComparer <ILRuntime.Runtime.GeneratedAdapter.IComparableAdapter.Adapter>)); types.Add(typeof(IEqualityComparer)); types.Add(typeof(IEqualityComparer <ILRuntime.Runtime.Intepreter.ILTypeInstance>)); types.Add(typeof(IEqualityComparer <System.Int32>)); types.Add(typeof(IEqualityComparer <ILRuntime.Runtime.GeneratedAdapter.IComparable_1_ILTypeInstanceAdapter.Adapter>)); // List<Type> types1 = new List<Type>(); // types1.Add(typeof(IEnumerable<ILRuntime.Runtime.Intepreter.ILTypeInstance>)); string path = "Assets/_GameAssets/Scripts/Game/ILR/GeneratedAdapter"; if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } foreach (Type type in types) { string msg = ILRuntimeCLRBinding.GenerateCrossBindingAdapterCode(type, "ILRuntime.Runtime.GeneratedAdapter"); string clsName, realClsName; bool isByRef; type.GetClassName(out clsName, out realClsName, out isByRef, true); string fileName = path + "/" + clsName + "Adapter.cs"; if (System.IO.File.Exists(fileName)) { System.IO.File.Delete(fileName); } FileStream fs = File.OpenWrite(fileName); byte[] bytes = System.Text.Encoding.Default.GetBytes(Regex.Replace(msg, "(?<!\r)\n", "\r\n")); fs.Write(bytes, 0, bytes.Length); fs.Close(); } GenerateBindingInitializeScript(types.Select(t => { string clsName, realClsName; bool isByRef; t.GetClassName(out clsName, out realClsName, out isByRef, true); return(clsName); }).ToList(), path); }