Flowchart: GameManifest Creation
This flowchart outlines the process of creating a GameManifest
file, either programmatically via a builder or automatically through a generation service.
Manifest Creation Workflow:
- Initiation: The process starts from a source, like a local folder of a mod, an existing game installation, or a service that needs to construct a manifest dynamically.
- Service Layer (Optional): For common tasks like creating a manifest from a directory, the
IManifestGenerationService
provides high-level methods. This service internally uses the builder. - Builder Pattern: The
IContentManifestBuilder
provides a fluent API to construct theGameManifest
step-by-step. This allows for fine-grained control over every property of the manifest. - File Population: Methods like
AddFileAsync
andAddFilesFromDirectoryAsync
are used to populate theFiles
list. These methods calculate hashes and other metadata automatically. - Finalization: The
Build()
method is called to assemble all the provided information into a final, validatedGameManifest
object. - Output: The resulting
GameManifest
object can be used by the system or serialized to amanifest.json
file for distribution.