Пример #1
0
    /// <summary>
    /// 检查资源是否可以更新
    /// </summary>
    /// <param name="_isUpdate">0为不更新,1为更新</param>
    void CheckUpdateAssets(string _isUpdate)
    {
        isUpdate = _isUpdate != "0";
        if (isUpdate)
        {
            // 版本需要做热更,请求资源服务器地址
            string tempNetworkPath    = VersionConst.ToServerPath(VersionConst.AssetsUrl);
            string tempPlatformNumber = GetFileNumber_String(VersionConst.OutPlatformNumberFile);
            StartCoroutine(LoadWWW(tempNetworkPath, "platformAssets", tempPlatformNumber, OnServerPath_Callback));
            return;
        }

        // 版本不需要做热更,直接返回完成事件
        Events.msInst.DispatchEvent(VersionEvent.DOWNLOAD_COMPLETION, null);
    }
Пример #2
0
    /// <summary>
    /// 加载必要文件到本地目录
    /// </summary>
    IEnumerator LoadAllFile()
    {
        if (!File.Exists(VersionConst.OutPlatformNumberFile))
        {
            yield return(LoadFile(VersionConst.InPlatformNumberFile, VersionConst.OutPlatformNumberFile));
        }

        if (!File.Exists(VersionConst.OutVersionNumberFile))
        {
            yield return(LoadFile(VersionConst.InVersionNumberFile, VersionConst.OutVersionNumberFile));
        }

        string tempNetworkPath    = VersionConst.ToServerPath(VersionConst.UpdateAssets);
        string tempPlatformNumber = GetFileNumber_String(VersionConst.OutPlatformNumberFile);

        StartCoroutine(LoadWWW(tempNetworkPath, "platformNum", tempPlatformNumber, CheckUpdateAssets));
    }
Пример #3
0
    /// <summary>
    /// 解压初始文件
    /// </summary>
    IEnumerator LoadVersionAssets()
    {
        if (!File.Exists(VersionConst.UnpackMarkPath))
        {
            Directory.CreateDirectory(VersionConst.InUnpackDirectory);
#if UNITY_IPHONE
            yield return(LoadDirectory(VersionConst.AppContentPath(), VersionConst.InUnpackDirectory + "/"));
#else
            // UPK文件拷贝到相对路径
            yield return(LoadFile(VersionConst.InUnpackFile, VersionConst.OutUnpackFile));

            // 解压相对路径的UPK文件
            yield return(UtilityUnpack.UnpackFolder(VersionConst.OutUnpackFile, VersionConst.InUnpackDirectory + "/"));
#endif
        }

        // 解压文件成功,写入标示文件
        // 防止UPK文件解压到一半,用户就退出游戏,导致文件解压不完整出现异常
        File.WriteAllText(VersionConst.UnpackMarkPath, "2000");

        // 资源解压完毕,开始加载本地的版本号
        versionLib.SetVersionNumber(GetVersionNumber());
        StartCoroutine(LoadWWW(NetworkPath + VersionConst.VersionFile + "?version=" + "&v=" + Random.Range(0f, 99999999f), OnVersionFileText_Callback));
    }
Пример #4
0
 private static void SaveReleasedVersionFile(AppVersion appVersion, string savedPath)
 {
     DoSaveVersionFile(appVersion, savedPath);
     AssetDatabase.Refresh();
     VersionConst.RefleshVerionInfo();
 }