Beispiel #1
0
        //以下是进行lua脚本的加密,(加密:windows版l已OK(luac批处理),ios的请高手提交代码; 解密:待完善,即让lua requrie函数使用c#函数来执行解密)

        /*
         * //luac
         * runLuac();
         */

        //			if (API.usingEncryptLua)
        //			{
        //				//rc4 lua files
        //				foreach (FileInfo luaFile in toDirInfo.GetFiles("*.lua", SearchOption.AllDirectories))
        //				{
        //					string allPath = luaFile.FullName;
        //					Debug.Log("加密" + allPath);
        //					EncryptFile(allPath, allPath,true); //进行RC4
        //				}
        //			}

        public static List <string> PackZips(string outpath)
        {
            List <string> finalZipFiles = new List <string>();
            var           allDirs       = AssetDatabase.GetAllAssetPaths().Where(path => (Directory.Exists(path)));
            List <string> zipdirs       = new List <string> ();

            foreach (var k in allDirs)
            {
                UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath(k, typeof(UnityEngine.Object));
                if (PTAssetBundleTool.HasPTABLabel(obj, PTAssetBundleTool.LABEL_ZIP))
                {
                    zipdirs.Add(k);
                }
            }
            foreach (var path in zipdirs)
            {
                string tempDir = "temp_pt";
                if (Directory.Exists(tempDir))
                {
                    Directory.Delete(tempDir, true);
                }
                Directory.CreateDirectory(tempDir);
                AssetDatabase.Refresh();

                DirectoryCopy(path, tempDir, true);
                //FileUtil.CopyFileOrDirectory(path,tempDir);
                cleanMeta(tempDir);
                PackFiles(outpath + "/" + Path.GetFileName(path) + ".zip", tempDir);
                Directory.Delete(tempDir, true);
                finalZipFiles.Add(outpath + "/" + Path.GetFileName(path) + ".zip");
            }

            return(finalZipFiles);
        }
Beispiel #2
0
        public static List <string> PackPTFiles(string outpath)
        {
            List <string> finalZipFiles = new List <string>();
            var           allFiles      = AssetDatabase.GetAllAssetPaths().Where(path => (File.Exists(path)));
            List <string> files         = new List <string> ();

            foreach (var k in allFiles)
            {
                UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath(k, typeof(UnityEngine.Object));
                if (PTAssetBundleTool.HasPTABLabel(obj, PTAssetBundleTool.LABEL_FILE))
                {
                    files.Add(k);
                    FileUtil.ReplaceFile(k, outpath + "/" + Path.GetFileName(k));
                    finalZipFiles.Add(outpath + "/" + Path.GetFileName(k));
                }
            }

            return(finalZipFiles);
        }