// 开始更新 public void BeginUpdate() { _isFinish = false; // 第一步比较,包内资源和本地资源的版本号 // 包内版本 ConfigHandler packageVerConfig = new ConfigHandler(); packageVerConfig.OpenFromStreamingAssets("version.txt"); int packageVer = int.Parse(packageVerConfig.ReadValue("Resource_Version", "0").ToString()); Debugger.Log("<Update> 包内资源版本:" + packageVer); // 下载版本 // 如果不存在,直接写一个包内文件 ConfigHandler localVerConfig = new ConfigHandler(); localVerConfig.Open(AppConst.configPath + "version.txt"); int localVer = int.Parse(localVerConfig.ReadValue("Resource_Version", "0").ToString()); Debugger.Log("<Update> 本地资源版本:" + localVer); // 如果本地版本不存在,保存一份 if (!File.Exists(AppConst.configPath + "version.txt")) { localVerConfig.Copy(packageVerConfig); } // 如果包内版本更高,删除所有本地资源文件 if (Directory.Exists(AppConst.resourcesPath)) { if (packageVer > localVer) { Directory.Delete(AppConst.resourcesPath, true); Directory.CreateDirectory(AppConst.resourcesPath); } } else { Directory.CreateDirectory(AppConst.resourcesPath); #if UNITY_IOS UnityEngine.iOS.Device.SetNoBackupFlag(AppConst.resourcesPath); #endif } // 本地最终版本 localVer = Math.Max(packageVer, localVer); // 检查远端版本 StartCoroutine(CheckResVer(localVer)); }
static int Copy(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); ConfigHandler obj = (ConfigHandler)ToLua.CheckObject <ConfigHandler>(L, 1); ConfigHandler arg0 = (ConfigHandler)ToLua.CheckObject <ConfigHandler>(L, 2); obj.Copy(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }