Exemplo n.º 1
0
        static void GenerateClassWraps()
        {
            if (!beAutoGen && EditorApplication.isCompiling)
            {
                EditorUtility.DisplayDialog("警告", "请等待编辑器完成编译再执行此功能", "确定");
                return;
            }

            // 测试
            if (!Directory.Exists(Application.dataPath + "/ToLuaDev/quickxlib/system_api/"))
            {
                Directory.CreateDirectory(Application.dataPath + "/ToLuaDev/quickxlib/system_api/");
            }

            allTypes.Clear();
            BindType[] typeList = CustomSettings.customTypeList;

            BindType[] list = GenBindTypes(typeList);
            ToLuaDevExport.allTypes.AddRange(baseType);

            for (int i = 0; i < list.Length; i++)
            {
                ToLuaDevExport.allTypes.Add(list[i].type);
            }

            for (int i = 0; i < list.Length; i++)
            {
                ToLuaDevExport.Clear();
                ToLuaDevExport.className     = list[i].name;
                ToLuaDevExport.type          = list[i].type;
                ToLuaDevExport.isStaticClass = list[i].IsStatic;
                ToLuaDevExport.baseType      = list[i].baseType;
                ToLuaDevExport.wrapClassName = list[i].wrapName;
                ToLuaDevExport.libClassName  = list[i].libName;
                ToLuaDevExport.extendList    = list[i].extendList;
                ToLuaDevExport.Generate(Application.dataPath + "/ToLuaDev/quickxlib/system_api/");
            }

            Debug.Log("Generate lua binding files over");
            ToLuaDevExport.allTypes.Clear();
            allTypes.Clear();
            AssetDatabase.Refresh();
        }