Esempio n. 1
0
 /// <summary>
 /// 压缩加密filter.txt,自动判断是否更新。只要filter日期变化,就会重新打包。
 /// </summary>
 public static void ZipAndEncryptFilter()
 {
     if (GPDC.FilterFile.Exists() && HSUnityEnv.CEFilterPath.Exists() &&
         GPDC.FilterTSFile.Exists() && GPDC.CEFilterTSFile.Exists() &&
         GPDC.FilterFile.LastWriteTime() == GPDC.FilterTSFile.LastWriteTime() &&
         HSUnityEnv.CEFilterPath.LastWriteTime() == GPDC.CEFilterTSFile.LastWriteTime())
     {
         HSUtils.Log("[{0}] 没有更新,因此不用重新生成 [{1}]。".Eat(GPDC.FilterFile.ShortName(), HSUnityEnv.CEFilterPath.ShortName()));
     }
     else
     {
         HSUtils.Log("[{0}]有更新,因此重新生成 [{1}]。".Eat(GPDC.FilterFile.ShortName(), HSUnityEnv.CEFilterPath.ShortName()));
         BinaryResourceLoader.SaveCEBinary(GPDC.FilterFile, HSUnityEnv.CEFilterPath);
         GPDC.FilterFile.Touch(GPDC.FilterTSFile);
         HSUnityEnv.CEFilterPath.Touch(GPDC.CEFilterTSFile);
     }
 }
Esempio n. 2
0
        static public byte[] LoadLua(string path)
        {
            //BY CG:在unity编辑模式下,方便调试,不用repack lua
            if (Application.isEditor)
            {
                return(File.ReadAllBytes("data/lua/" + path + ".lua"));
            }


            if (__luaMapper == null)
            {
                using (var input = BinaryResourceLoader.CreateStreamFromCEBinary(HSUnityEnv.CELuaPath))
                    __luaMapper = DirectProtoBufTools.Deserialize <Dictionary <string, byte[]> >(input);
            }

            //处理文件名格式
            if (!path.Contains("/"))
            {
                path = path.Replace(".", "/");
            }

            if (LuaManager.LUAJIT_ENABLE)
            {
                path = "/luajit/" + path;
            }
            else
            {
                path = "/lua/" + path;
            }

            if (!path.EndsWith(".lua"))
            {
                path += ".lua";
            }

            if (__luaMapper.ContainsKey(path))
            {
                return(__luaMapper[path]);
            }
            else
            {
                _Logger.Error("找不到文件 [{0}]", path);
                return(null);
            }
        }