예제 #1
0
    // 开始更新
    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));
    }
예제 #2
0
 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));
     }
 }