/// <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); } }
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); } }