예제 #1
0
    static void EncryptLuaCodeCopyToTargetDir()
    {
        EncryptLuaCodeImp(LuaEncryptType.Auto);

        string luaCodeFilePath = CopyProjectTargetDir + "Assets/StreamingAssets/" + ResourcesManager.LuaZipFileName;

        MyFileUtil.CopyFile(ResourcesManager.LuaZipFileFullPath, luaCodeFilePath);

        Debug.Log("加密Lua代码并复制到拷贝工程");
    }
예제 #2
0
    static void VersionsDifferenceZipImp(string oldVersionDir, string newVersionDir)
    {
        oldVersionDir = MyFileUtil.DealFilePathSlash(oldVersionDir);
        newVersionDir = MyFileUtil.DealFilePathSlash(newVersionDir);

        List <string> oldFileList = new List <string>();
        List <string> newFileList = new List <string>();

        MyFileUtil.GetFileList(oldVersionDir, ref oldFileList);
        MyFileUtil.GetFileList(newVersionDir, ref newFileList);

        List <string> modificationFileList = new List <string>();

        foreach (string newFilePath in newFileList)
        {
            int index = oldFileList.IndexOf(newFilePath);
            if (index < 0)
            {
                //添加新的文件
                modificationFileList.Add(newFilePath);
            }
            else
            {
                string oldFilePath = oldFileList[index];
                if (MD5Tool.VerifyFile(newFilePath, oldFilePath) == false)
                {
                    //文件改变
                    modificationFileList.Add(newFilePath);
                }
            }
        }

        //string time = System.DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss");

        string modificationDir = MyFileUtil.GetParentDir(newVersionDir) + "update_tmp";

        MyFileUtil.DeleteDir(modificationDir);
        MyFileUtil.CreateDir(modificationDir);

        foreach (string filePath in modificationFileList)
        {
            string newFilePath = filePath.Replace(newVersionDir, modificationDir);
            MyFileUtil.CopyFile(filePath, newFilePath);
        }

        string zipFilePath = modificationDir + ".zip";

        ZIPTool.CompressDirectory(modificationDir, zipFilePath, 0, false);

        Debug.Log("");
    }
예제 #3
0
    void OnGUI()
    {
        GUILayout.BeginHorizontal();
        {
            GUILayout.Label(generatePath, EditorStyles.numberField);
            if (GUILayout.Button("select", GUILayout.Width(window.position.width / 10)))
            {
                generatePath = EditorUtility.OpenFolderPanel("MVC View Code Path", generatePath, "");
                generatePath = string.IsNullOrEmpty(generatePath) ? Application.streamingAssetsPath : generatePath;
                PlayerPrefs.SetString("MVC View Code Path", generatePath);
            }
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        {
            GUILayout.Label("Name:", GUILayout.Width(window.position.width / 10));
            viewName = EditorGUILayout.TextField(viewName, GUILayout.Width(window.position.width * 4 / 10));
            GUILayout.Label("Layer:", GUILayout.Width(window.position.width / 10));
            layerIndex = EditorGUILayout.Popup(layerIndex, new string[] { "Noraml	Layer", "Top	Layer"}, GUILayout.Width(window.position.width * 4 / 10));
        }
        GUILayout.EndHorizontal();
        if (GUILayout.Button("Generate Code"))
        {
            if (string.IsNullOrEmpty(viewName))
            {
                EditorUtility.DisplayDialog("Tips", "No View Name", "OK");
                return;
            }
            var dir = generatePath + "/" + viewName + "/";
            MyFileUtil.CreateDir(dir);
            var newPath = dir.Substring(dir.IndexOf("Assets")).Replace(LuaConst.luaDir.Substring(LuaConst.luaDir.IndexOf("Assets")) + "/", "");
            Debug.Log("dir:" + dir.Substring(dir.IndexOf("Assets")));

            Debug.Log("LuaConst.luaDir:" + LuaConst.luaDir.Substring(LuaConst.luaDir.IndexOf("Assets")));
            Debug.Log("newPath:" + newPath);
            //head
            var headFilePath = dir + viewName + "Head.lua";
            MyFileUtil.CopyFile(TemplateHeadLuaFilePath, headFilePath);
            var headLua = MyFileUtil.ReadFileText(headFilePath);
            headLua = headLua.Replace(PATH, newPath);
            headLua = headLua.Replace(NAME, viewName);
            headLua = headLua.Replace(SNAME, viewName.ToLower());
            headLua = headLua.Replace(UILAYER, UILAYERS[layerIndex]);
            MyFileUtil.WriteFile(headFilePath, headLua);

            //view
            var viewFilePath = dir + viewName + "View.lua";
            MyFileUtil.CopyFile(TemplateViewLuaFilePath, viewFilePath);
            var viewLua = MyFileUtil.ReadFileText(viewFilePath);
            viewLua = viewLua.Replace(NAME, viewName);
            viewLua = viewLua.Replace(SNAME, viewName.ToLower());
            MyFileUtil.WriteFile(viewFilePath, headLua);

            //controller
            var controllerFilePath = dir + viewName + "Controller.lua";
            MyFileUtil.CopyFile(TemplateControllerLuaFilePath, controllerFilePath);
            var controllerLua = MyFileUtil.ReadFileText(controllerFilePath);
            controllerLua = controllerLua.Replace(NAME, viewName);
            controllerLua = controllerLua.Replace(SNAME, viewName.ToLower());
            MyFileUtil.WriteFile(controllerFilePath, controllerLua);

            //model
            var modelFilePath = dir + viewName + "Model.lua";
            MyFileUtil.CopyFile(TemplateModelLuaFilePath, modelFilePath);
            var modelLua = MyFileUtil.ReadFileText(modelFilePath);
            modelLua = modelLua.Replace(NAME, viewName);
            modelLua = modelLua.Replace(SNAME, viewName.ToLower());
            MyFileUtil.WriteFile(modelFilePath, modelLua);
            AssetDatabase.Refresh();
            EditorUtility.DisplayDialog("Tips", "Generate Code Over!", "OK");
        }
    }