Esempio n. 1
0
 static void GenerateAll()
 {
     ILRuntimeCodeGenerator.EditorGenerate();
     AssetDatabase.Refresh();
     ILRuntimeCLRBinding.GenerateCLRBindingByAnalysis();
     AssetDatabase.Refresh();
 }
Esempio n. 2
0
 static void CleanAdapter()
 {
     ILRuntimeCLRBinding.cleanAll();
 }
Esempio n. 3
0
 static void GenerateAdapter()
 {
     ILRuntimeCLRBinding.GenerateAll();
 }
Esempio n. 4
0
 static void GenerateCLRBindingByAnalysis()
 {
     ILRuntimeCLRBinding.GenerateCLRBindingByAnalysis();
     Ctrl.print("OK");
 }
Esempio n. 5
0
 public static void TryCLRPlatformLobbyCode()
 {
     Debug.Log("CLRBingding 开始");
     ILRuntimeCLRBinding.GenerateCLRBindingByAnalysis();
     Debug.Log("CLRBingding成功");
 }
Esempio n. 6
0
 public static void GenerateCLRBindingByAnalysis()
 {
     ILRuntimeCLRBinding.GenerateCLRBindingByAnalysis();
 }
Esempio n. 7
0
    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);
    }