Example #1
0
    //加载所有模块
    void LoadAllModules()
    {
        string modulesRootDir = Path.Combine(Application.dataPath, LuaModulesDir);

        string[] moduleDirs = Directory.GetDirectories(modulesRootDir);
        moduleInfoList = new List <LuaModuleInfo>();
        for (int i = 0; i < moduleDirs.Length; i++)
        {
            string        moduleDirPath = moduleDirs[i]; //模块目录路径
            LuaModuleInfo moduleInfo    = new LuaModuleInfo(Path.GetFileName(moduleDirs[i]));
            moduleInfo.moduleDirPath = moduleDirPath;    //模块目录路径

            moduleInfo.viewDirPath    = moduleDirPath + ToLuaGenerater.Folder2Directory(LuaFolder.View);
            moduleInfo.modelDirPath   = moduleDirPath + ToLuaGenerater.Folder2Directory(LuaFolder.Model);
            moduleInfo.serviceDirPath = moduleDirPath + ToLuaGenerater.Folder2Directory(LuaFolder.Service);
            moduleInfo.voDirPath      = moduleDirPath + ToLuaGenerater.Folder2Directory(LuaFolder.Vo);
            //Views
            string[] mdrFiles = Directory.GetFiles(moduleInfo.viewDirPath, "*.lua");
            for (int j = 0; j < mdrFiles.Length; j++)
            {
                string mdrFilePath = mdrFiles[j];
                string mdrName     = Path.GetFileNameWithoutExtension(mdrFilePath);
                mdrName = mdrName.Replace("Mdr", "");
                LuaViewInfo viewInfo = new LuaViewInfo(mdrName);
                viewInfo.viewName    = mdrName;
                viewInfo.viewDirPath = moduleInfo.viewDirPath;
                if (luaTable.HasTable(mdrName))
                {//已经存在配置
                    Dictionary <string, object> table = luaTable.SetTable(mdrName);
                    viewInfo.prefabUrl = luaTable.GetString(mdrName, "prefab");
                }
                moduleInfo.viewList.Add(viewInfo);
            }
            //Vo
            RefreshVos(moduleInfo);
            moduleInfoList.Add(moduleInfo);
        }
    }
Example #2
0
    void EditFolder(LuaModuleInfo moduleInfo, LuaFolder folder)
    {
        string        folderPath = moduleInfo.moduleDirPath + ToLuaGenerater.Folder2Directory(folder);
        LuaFileStatus status     = ToLuaGenerater.GetFileStatus(moduleInfo.moduleDirPath, folder);

        switch (status)
        {
        case LuaFileStatus.Nothing:
            if (GUILayout.Button("生成 " + folder + " 文件夹"))
            {
                ToLuaGenerater.GeneratedFolder(folderPath);
            }
            break;

        case LuaFileStatus.Folder_Only:
            if (folder == LuaFolder.Vo)
            {
                AddVoFile(moduleInfo);
            }
            else if (GUILayout.Button("生成 " + folder + ".lua 文件"))
            {
                ToLuaGenerater.GeneratedLuaFile(moduleInfo.moduleDirPath, moduleInfo.moduleName, moduleInfo.moduleName, folder);
            }
            break;

        case LuaFileStatus.Folder_And_LuaFile:
            if (folder == LuaFolder.Vo)
            {
                AddVoFile(moduleInfo);
            }
            else
            {
                EditorGUILayout.LabelField(moduleInfo.moduleName + folder + ".lua 文件已经生成");
            }
            break;
        }
    }