跳到主要内容
版本:v3

AssetPatcher

重要 注意 提醒

Coding Style wiki


using OxGFrame.AssetLoader;

Patch Status (更新状态)

用于监控当前资源更新流程的进度。

  • IsInitialized(): 判断资源系统是否已完成初始化。
  • IsCheck(): 是否正在执行版本检查。
  • IsRepair(): 是否正在执行修复(重新下载)流程。
  • IsDone(): 更新流程是否已全部完成且可开始加载资源。

Patch Operation (更新操作)

控制主下载器的核心行为。

Check / Repair

  • Check(): 开始执行补丁更新流程(包含版本对比与文件清单获取)。
  • Repair(): 开始执行资源修复流程,会强制检查所有文件的完整性。

Control Methods

  • Pause() / Resume(): 暂停或继续主下载器的任务。
  • Cancel(): 取消下载。

Package Operation (资源包管理)

管理各个独立 Package 的生命周期与本地缓存。

InitPackage

初始化指定的 Package,系统会自动判断该 Package 是 App (主要) 还是 DLC (扩充) 类型,并自动从远端或内置路径寻找资源。

UnloadPackageAndClearCacheFiles

卸载指定的 Package,并从硬盘(Sandbox)中彻底删除相关资源文件。

  • Params:
    • string packageName: Package 名称。
    • bool destroyPackage: 是否同时将 Package 从内存中释放。

Default Package 设置

  • SetDefaultPackage: 设置初始预设的资源包。
  • SwitchDefaultPackage: 在已注册的包之间进行切换预设的资源包。
  • GetDefaultPackageName: 获取目前加载资源时预设使用的包名。

Downloader (下载器管理)

提供极为弹性的下载方案,支持合并多个 Package 同时下载。

GetPackageDownloader

获取单一 Package 的下载器,支持透过 Tags (标签)AssetNames (资源名) 来精确筛选需要更新的内容。

BeginDownloadWithCombinePackages

合并多个 Package 的更新请求。这在处理「DLC + 主资源更新」时非常有用,能统一在一个进度条中显示。

主要参数:

  • OnDownloadSpeedProgress: 用于接收下载速度、剩余时间与总进度的回调。
  • DownloadError: 下载失败时的回调(包含文件信息与错误消息)。

Path & Storage (路径与储存)

  • GetLocalSandboxRootPath(): 取得本地持久化储存根目录(.../yoo)。
  • GetBuiltinRootPath(): 取得 StreamingAssets 内的内置资源根目录。
  • GoToAppStore(): 呼叫系统浏览器前往商店链接(更新 App 本体)。

Release (释放)

Release()

重要 当游戏准备关闭时调用。此方法会异步释放所有 Package 的资源引用,并清空 Bundle 相关的全局配置,确保内存正确回收。