OapMountSet

An ordered set of mounted Open Asset Packages, highest priority first. An asset is resolved by walking the mounts in order and taking the first hit, so an overlay package (DLC, patch, mod) placed ahead of the base package overrides it while everything absent from the overlay falls through.

Properties

Readers

(IReadOnlyList) : Gets the mounted readers, highest priority first.

Public Methods

ForBasePackage

public static OapMountSet? ForBasePackage(string basepackagePath)

Gets or resolves the mount set for a base package, layering any overlay packages found in a sibling overlays directory (sorted by name, later names win). The result is cached and rebuilt when any package file changes on disk.

Parameters:

  • basepackagePath (string): The absolute path to the base .oap file.

Returns: OapMountSet?

  • The mount set, or when the base package is missing.

TryResolveById

public bool TryResolveById(Guid id, OapReader reader, OapIndexEntry entry)

Resolves an asset by its id across the mounted packages.

Parameters:

  • id (Guid): The asset id.
  • reader (OapReader): The package the asset was found in.
  • entry (OapIndexEntry): The resolved index entry.

Returns: bool

  • when a package holds the asset.

TryResolveByPath

public bool TryResolveByPath(string virtualPath, OapReader reader, OapIndexEntry entry)

Resolves an asset by its virtual path across the mounted packages.

Parameters:

  • virtualPath (string): The virtual path.
  • reader (OapReader): The package the asset was found in.
  • entry (OapIndexEntry): The resolved index entry.

Returns: bool

  • when a package holds the asset.