### OpenConstructionSet.Installations.Installation Class API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/qUACYHb4kFlIhfF0vYagtQ.md Comprehensive API documentation for the `Installation` class, including its constructors, properties, and methods for managing game content, mods, and enabled mod files. ```APIDOC Installation Class: Description: Representation of an installation of the game. Inherits: System.Object Implements: OpenConstructionSet.Installations.IInstallation Constructors: Installation(string, string, string?): Creates a new Installation from the provided values. Properties: Content: An Optional content IModFolder. Currently used for the Steam Workshop folder. Data: A IModFolder for the game's data folder. EnabledModsFile: The path of the file that stores the enabled mods. Identifier: Identifier of this IInstallation. Mods: A IModFolder for the game's mods folder. Path: The path of this IInstallation's game folder. Methods: GetMods(): Search all IModFolders for mods. Searches in the order Data, Mod, Content (if not null). ReadEnabledModsAsync(CancellationToken): Reads the EnabledModsFile to get the currently enabled mod's filenames and their load order. e.g. example.mod ToString(): Returns a string that represents the current object. TryFind(string, IModFile): Attempts to find the named mod in all this IInstallation's folders. TryFind(string, uint, IModFile): Attempts to find the named mod in all this IInstallation's folders. WriteEnabledModsAsync(IEnumerable, CancellationToken): Writes the provided list of mod filename's to the EnabledModsFile. e.g. example.mod ``` -------------------------------- ### Define Installation Class in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/qUACYHb4kFlIhfF0vYagtQ.md Defines the `Installation` class, which represents a game installation and implements the `IInstallation` interface. ```csharp public class Installation : OpenConstructionSet.Installations.IInstallation ``` -------------------------------- ### C# Installation Constructor API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/CZFPZ0wKogM6j7BtHq8fAg.md Defines the constructor for the Installation class, used to create new installation instances with a unique identifier, a full installation path, and an optional content folder. ```csharp public Installation(string identifier, string path, string? content); ``` ```APIDOC Class: Installation Constructor: Installation(string identifier, string path, string? content) Description: Creates a new Installation from the provided values. Parameters: identifier: Type: System.String Description: Name used to identify this installation e.g. Steam path: Type: System.String Description: The full path of the installation. content: Type: System.String Description: Optional content folder e.g. Steam Workshop folder. ``` -------------------------------- ### C# Method Signature for DiscoverAllInstallationsAsync Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/VPv1mA7WxodQ63wZ2i2wjQ.md Provides the C# signature for the asynchronous method that discovers all installations by running all supported IInstallationLocators. ```csharp public System.Collections.Generic.IAsyncEnumerable DiscoverAllInstallationsAsync(); ``` -------------------------------- ### IInstallationService Methods Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/1_dEB+amoW33pgCR_95scQ.md Documents the methods of the `IInstallationService` interface for discovering installations. These methods allow for discovering all installations, the first found installation, or an installation by a specific locator ID. ```APIDOC Methods: DiscoverAllInstallationsAsync(): Runs all supported IInstallationLocators and returns any IInstallations that are found. DiscoverInstallationAsync(): Runs all supported IInstallationLocators and returns the first IInstallation that is found. DiscoverInstallationAsync(string): Runs the IInstallationLocator with a matching Id and returns the result. ``` -------------------------------- ### C# Method Signature for DiscoverInstallationAsync Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/5YxRJbbiy7RO9fd1r+2hFA.md The C# signature for the asynchronous method to discover an installation. ```csharp System.Threading.Tasks.Task DiscoverInstallationAsync(string locatorId); ``` -------------------------------- ### API Documentation for OpenConstructionSet.InstallationService Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/2UPErl_vhvyYlM7GMO5htA.md Detailed API reference for the InstallationService class, including its constructors, properties, and methods for managing game installations. ```APIDOC InstallationService Class: Description: Service used to locate IInstallations. Inherits: System.Object Implements: IInstallationService Constructors: InstallationService(): Creates a new InstallationService using the default IInstallationLocators. InstallationService(IEnumerable): Creates a new InstallationService using the provided IInstallationLocators. Properties: SupportedLocators: Id of all supported IInstallationLocators. Methods: DiscoverAllInstallationsAsync(): Runs all supported IInstallationLocators and returns any IInstallations that are found. DiscoverInstallationAsync(): Runs all supported IInstallationLocators and returns the first IInstallation that is found. DiscoverInstallationAsync(string): Runs the IInstallationLocator with a matching Id and returns the result. ``` -------------------------------- ### ModContextOptions Installation Property Definition and API Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/jZT7Vctd8gamNHC9g51_Kw.md Documents the `Installation` property of the `OpenConstructionSet.Mods.Context.ModContextOptions` class, providing its C# code definition and structured API documentation. This property links the context to a specific game installation, allowing read and write access. ```csharp public OpenConstructionSet.Installations.IInstallation Installation { get; set; } ``` ```APIDOC Class: OpenConstructionSet.Mods.Context.ModContextOptions Property: Installation Description: The installation to work against. Type: OpenConstructionSet.Installations.IInstallation Access: get, set ``` -------------------------------- ### IInstallationService.DiscoverInstallationAsync Method API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/Ww4n4Oc3DCopw_cqMJvVog.md This asynchronous method, part of the IInstallationService interface, attempts to discover an installation by iterating through all registered IInstallationLocator implementations. It returns a Task that, upon completion, provides the first found IInstallation instance or null if no installation is located. ```csharp System.Threading.Tasks.Task DiscoverInstallationAsync(); ``` ```APIDOC IInstallationService: DiscoverInstallationAsync(): Description: Runs all supported IInstallationLocators and returns the first IInstallation that is found. Returns: System.Threading.Tasks.Task Return Description: The first IInstallation that was found; otherwise, `null` ``` -------------------------------- ### InstallationService Constructor Initialization Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/DKM1tqynnsGVdmB4l5yTOw.md Initializes a new instance of the `InstallationService` class. This constructor requires a collection of `IInstallationLocator` objects, which are used by the service to discover and manage game installations. It sets up the service's core dependency for locating installations. ```csharp public InstallationService(System.Collections.Generic.IEnumerable locators); ``` ```APIDOC InstallationService.InstallationService(IEnumerable) Constructor Description: Creates a new InstallationService using the provided IInstallationLocators. Parameters: locators: System.Collections.Generic.IEnumerable Description: Collection of IInstallationLocator used to find IInstallations. ``` -------------------------------- ### C# IInstallationService.DiscoverAllInstallationsAsync() Method Signature Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/eh2CuM0XAWBQO+V_c0WZ3A.md Defines the asynchronous method signature for discovering all installations, returning an enumerable collection of IInstallation objects. ```csharp System.Collections.Generic.IAsyncEnumerable DiscoverAllInstallationsAsync(); ``` -------------------------------- ### Locate Steam Installation Asynchronously Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/WcNlq3qF2pjriE3LFIupdg.md Provides the method signature and API documentation for `SteamLocator.LocateAsync()`, which attempts to find an installation asynchronously and returns an `IInstallation` object or `null`. ```csharp public System.Threading.Tasks.Task LocateAsync(); ``` ```APIDOC SteamLocator.LocateAsync() Method: Description: Attempt to find an installation. Return Type: System.Threading.Tasks.Task Return Description: An Installation if located; otherwise, null Implements: OpenConstructionSet.Installations.Locators.IInstallationLocator.LocateAsync() ``` -------------------------------- ### OpenConstructionSet.Installations Namespace API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/index.md Defines core components for managing game installations, including representations for installations and mod folders, and their corresponding interfaces and enumeration types. ```APIDOC OpenConstructionSet.Installations: Classes: Installation: Representation of an installation of the game. ModFolder: Represents a folder containing mods. Interfaces: IInstallation: Representation of an installation of the game. IModFolder: Represents a folder containing mods. Enums: ModFolderType: Represents the various types of mod folder. ``` -------------------------------- ### C# Method Signature for DiscoverInstallationAsync Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/UIsKbhL326avlbJ6vIKohg.md Defines the asynchronous method signature for discovering an installation, returning a Task that may contain an IInstallation or null. ```csharp public System.Threading.Tasks.Task DiscoverInstallationAsync(); ``` -------------------------------- ### GogLocator.LocateAsync() Method API Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/nsU1ClefolalE4ZTThrZYg.md Documents the `LocateAsync` method of the `GogLocator` class, which attempts to find an installation and returns an `IInstallation` object or `null`. ```APIDOC GogLocator.LocateAsync() Method: Signature: public System.Threading.Tasks.Task LocateAsync(); Description: Attempt to find an installation. Returns: Type: System.Threading.Tasks.Task Description: An Installation if located; otherwise, null. Implements: OpenConstructionSet.Installations.Locators.IInstallationLocator.LocateAsync() ``` -------------------------------- ### Get String Representation of Installation Object (C#) Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/S75V+HefX1Kk6KUNzxCQHw.md This method returns a string that represents the current Installation object. It is an override of the base Object.ToString() method. ```csharp public override string ToString(); ``` ```APIDOC Installation: ToString(): Description: Returns a string that represents the current object. Signature: public override string ToString(); Returns: Type: System.String Description: A string that represents the current object. ``` -------------------------------- ### Define IInstallationService Interface Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/1_dEB+amoW33pgCR_95scQ.md Defines the `IInstallationService` interface in C#, which is used to locate game installations. This interface specifies the contract for services that discover and manage installations. ```csharp public interface IInstallationService ``` -------------------------------- ### OpenConstructionSet.Installations.Locators Namespace API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/index.md Provides classes and interfaces for locating game installations from different platforms like GOG, local directories, and Steam, centralizing the discovery process. ```APIDOC OpenConstructionSet.Installations.Locators: Classes: GogLocator: Gog implementation of a IInstallationLocator LocalLocator: Implementation of a IInstallationLocator that looks for the folders in the working directory. SteamLocator: Steam implementation of a IInstallationLocator Interfaces: IInstallationLocator: Used to locate game installations from various platforms. ``` -------------------------------- ### OpenConstructionSet Namespace API Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/index.md Documents the core OpenConstructionSet namespace, including its main classes and interfaces for context building, installation services, and constants. ```APIDOC OpenConstructionSet Namespace: Classes: CollectionExtensions: A collection of extensions for collections. ContextBuilder: Builder used when creating FCS like mod contexts. InstallationService: Service used to locate IInstallations. OcsConstants: Useful constants for working with the OCS. Interfaces: IContextBuilder: Builder used when creating FCS like mod contexts. IInstallationService: Service used to locate IInstallations. ``` -------------------------------- ### IInstallationService Properties Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/1_dEB+amoW33pgCR_95scQ.md Documents the properties of the `IInstallationService` interface. The `SupportedLocators` property identifies all supported installation locator IDs. ```APIDOC Properties: SupportedLocators: Id of all supported IInstallationLocators. ``` -------------------------------- ### C# Installation.Path Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/mKbqG3U+vys_I+O2NSNYMg.md This C# code snippet defines the `Path` property within the `Installation` class. It is a read-only string property that returns the file path of the game folder for a given installation. The property value is of type `System.String`. ```csharp public string Path { get; } ``` -------------------------------- ### LocalLocator.LocateAsync() Method API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/Yv2wEa5+Pc1l8X_rxpPepQ.md Provides the API signature and return value details for the LocateAsync method, which is used to asynchronously find an installation within the OpenConstructionSet framework. ```csharp public System.Threading.Tasks.Task LocateAsync(); ``` ```APIDOC Method: LocateAsync() Description: Attempt to find an installation. Returns: Type: System.Threading.Tasks.Task Description: An Installation if located; otherwise, null Implements: LocateAsync() ``` -------------------------------- ### LocalLocator Class API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/T9h6wbZnwsfWK_neG4v+_A.md API documentation for the LocalLocator class, detailing its inheritance, implemented interfaces, properties, and methods. This class is used to locate OpenConstructionSet installations. ```APIDOC LocalLocator Class: Description: Implementation of a IInstallationLocator that looks for the folders in the working directory. Inherits: System.Object Implements: IInstallationLocator Properties: Id: Description: The unique identifier for this locator. Methods: LocateAsync(): Description: Attempt to find an installation. ``` -------------------------------- ### IInstallation.Path Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/cYPej6JKMNjq7Tv0dX0EUQ.md Documents the 'Path' property of the 'IInstallation' interface, which provides the file system path to the game's installation directory. This property is read-only and returns a string. ```csharp string Path { get; } ``` ```APIDOC IInstallation.Path Property: Description: The path of this IInstallation's game folder. Type: string Access: get Return Type: System.String ``` -------------------------------- ### Define GogLocator Class in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/l3O97zQ2yef7ROVxwGUkbQ.md Defines the GogLocator class, which implements the IInstallationLocator interface for locating installations specific to GOG. ```csharp public class GogLocator : OpenConstructionSet.Installations.Locators.IInstallationLocator ``` -------------------------------- ### C# Installation.Content Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/rYCByuP7fBArpwH5GgCWDQ.md This C# code snippet defines the 'Content' property of the 'Installation' class. It is a read-only property of type 'IModFolder', which can be nullable. This property is used to access an optional content folder, such as the Steam Workshop directory, and implements the 'Content' property from 'IInstallation'. ```csharp public OpenConstructionSet.Installations.IModFolder? Content { get; } ``` -------------------------------- ### Define IInstallation Interface in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/+q+t_1kaSScZooYXO5QOWw.md Defines the `IInstallation` interface in C#, which represents a game installation. This interface outlines the contract for managing game-related folders and files. ```csharp public interface IInstallation ``` -------------------------------- ### API Documentation: IInstallation.TryFind Method Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/VDOcksyhRlDTa+kNkaVJiQ.md Documents the `TryFind` method of the `IInstallation` interface, which attempts to locate a specified mod within the installation's folders. It takes the mod name and an output parameter for the found mod file, returning a boolean indicating success. ```APIDOC Interface: IInstallation Method: TryFind Signature: bool TryFind(string modName, out OpenConstructionSet.Mods.IModFile file); Description: Attempts to find the named mod in all this IInstallation's folders. Parameters: modName: Type: System.String Description: Name of the mod to find e.g. example or example.mod file: Type: IModFile Description: Will contain the located IModFile if found. Returns: Type: System.Boolean Description: true if the mod could be found; otherwise, false. ``` -------------------------------- ### IInstallationLocator Interface Definition and API Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/U3F_sqRL+Af4wVxU9_Eqrw.md Defines the IInstallationLocator interface in C#, used for locating game installations, and provides its API documentation including derived classes, properties, and methods. ```csharp public interface IInstallationLocator ``` ```APIDOC IInstallationLocator Interface: Description: Used to locate game installations from various platforms. Definition: public interface IInstallationLocator Derived Classes: - GogLocator - LocalLocator - SteamLocator Properties: - Id: Description: The unique identifier for this locator. Methods: - LocateAsync(): Description: Attempt to find an installation. ``` -------------------------------- ### ModContext Constructor Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/WOV0VCiLJcXpFYsEbrTxxg.md This API documentation describes the constructor for the ModContext class. It initializes a new instance of ModContext using a dictionary of base items, an enumerable of active items, an installation interface, a mod name, the last used ID, and optional header and info data. ```csharp public ModContext(System.Collections.Generic.Dictionary baseItems, System.Collections.Generic.IEnumerable activeItems, OpenConstructionSet.Installations.IInstallation installation, string modName, int lastId, OpenConstructionSet.Data.Header? header=null, OpenConstructionSet.Mods.ModInfoData? info=null); ``` ```APIDOC ModContext Constructor: ModContext(baseItems: System.Collections.Generic.Dictionary, activeItems: System.Collections.Generic.IEnumerable, installation: OpenConstructionSet.Installations.IInstallation, modName: string, lastId: int, header: OpenConstructionSet.Data.Header? = null, info: OpenConstructionSet.Mods.ModInfoData? = null) baseItems: A dictionary of base mod items. activeItems: An enumerable collection of active mod items. installation: The installation context. modName: The name of the mod. lastId: The last used ID. header: Optional header data for the mod. info: Optional mod info data. ``` -------------------------------- ### Installation.TryFind Method API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/nnP7Z6YBahj6W_GSzSukJg.md Comprehensive API documentation for the `Installation.TryFind` method, detailing its purpose, parameters, and return value. ```APIDOC Installation.TryFind(string modName, out OpenConstructionSet.Mods.IModFile file) Method Description: Attempts to find the named mod in all this IInstallation's folders. Parameters: modName: Type: System.String Description: Name of the mod to find e.g. example or example.mod file: Type: IModFile Description: Will contain the located IModFile if found. Returns: Type: System.Boolean Description: true if the mod could be found; otherwise, false. ``` -------------------------------- ### Get SupportedLocators Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/iCk2izGEFah2AloD2jh45w.md Retrieves an array of strings representing the IDs of all supported installation locators. This property is read-only and implements the `SupportedLocators` property from `IInstallationService`. ```csharp public string[] SupportedLocators { get; } ``` -------------------------------- ### API Documentation for InstallationService.DiscoverAllInstallationsAsync Method Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/VPv1mA7WxodQ63wZ2i2wjQ.md Comprehensive API documentation for the DiscoverAllInstallationsAsync method, detailing its purpose, return type, and implementation details within the InstallationService class. ```APIDOC InstallationService: DiscoverAllInstallationsAsync(): Description: Runs all supported IInstallationLocators and returns any IInstallations that are found. Returns: Type: System.Collections.Generic.IAsyncEnumerable Description: A collection of any IInstallations that were found. Implements: OpenConstructionSet.IInstallationService.DiscoverAllInstallationsAsync() ``` -------------------------------- ### API Documentation for InstallationService.DiscoverInstallationAsync(string) Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/BykB3PU1egFZQoAo1pb9lQ.md Detailed API documentation for the DiscoverInstallationAsync method, including its purpose, parameters, and return type with descriptions. ```APIDOC InstallationService.DiscoverInstallationAsync(string) Method Description: Runs the IInstallationLocator with a matching Id and returns the result. Signature: public System.Threading.Tasks.Task DiscoverInstallationAsync(string locatorId); Parameters: locatorId: Type: System.String Description: No description provided. Returns: Type: System.Threading.Tasks.Task Description: The IInstallation if found; otherwise, null ``` -------------------------------- ### Get Identifier Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/2bz7kiw5bF4hYkta5nBf0A.md Retrieves the unique identifier for an IInstallation instance. This property is read-only and returns a string, providing a consistent way to identify different installations. ```csharp string Identifier { get; } ``` -------------------------------- ### API Documentation for InstallationService.DiscoverInstallationAsync() Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/UIsKbhL326avlbJ6vIKohg.md Detailed API documentation for the DiscoverInstallationAsync method, including its purpose, return type, and behavior. ```APIDOC InstallationService.DiscoverInstallationAsync() Method Description: Runs all supported IInstallationLocators and returns the first IInstallation that is found. Returns: Type: System.Threading.Tasks.Task Description: The first IInstallation that was found; otherwise, null Implements: DiscoverInstallationAsync() ``` -------------------------------- ### Define LocalLocator Class in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/T9h6wbZnwsfWK_neG4v+_A.md Defines the LocalLocator class in C#, which implements the IInstallationLocator interface. This class is responsible for finding installations by looking for specific folders in the working directory. ```csharp public class LocalLocator : OpenConstructionSet.Installations.Locators.IInstallationLocator ``` -------------------------------- ### Installation.TryFind Method API Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/RV9cpX7wWMtzjC_EJfEIEA.md Detailed API specification for the `TryFind` method, including its parameters with types and descriptions, and its return value. ```APIDOC Method: Installation.TryFind(string modName, uint id, out OpenConstructionSet.Mods.IModFile file) Parameters: modName: System.String Name of the mod to find e.g. example or example.mod id: System.UInt32 The ID from the mod's .info file. Only required for content folders. file: IModFile Will contain the located IModFile if found. Returns: System.Boolean true if the mod could be found; otherwise, false. ``` -------------------------------- ### IInstallationService.DiscoverInstallationAsync API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/5YxRJbbiy7RO9fd1r+2hFA.md Comprehensive API documentation for the DiscoverInstallationAsync method, detailing its purpose, parameters, and return type. ```APIDOC IInstallationService: DiscoverInstallationAsync(locatorId: string): System.Threading.Tasks.Task Description: Runs the IInstallationLocator with a matching Id and returns the result. Parameters: locatorId: Type: System.String Description: The ID of the locator to use. Returns: Type: System.Threading.Tasks.Task Description: The IInstallation if found; otherwise, null. ``` -------------------------------- ### C# Method Signature for TryFind Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/nnP7Z6YBahj6W_GSzSukJg.md The C# signature for the `TryFind` method, showing its public accessibility, boolean return type, and parameters for mod name and an output `IModFile`. ```csharp public bool TryFind(string modName, out OpenConstructionSet.Mods.IModFile file); ``` -------------------------------- ### API Documentation for Installation.ReadEnabledModsAsync Method Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/yQzkcR_CFoh61cQlh5UUDQ.md Detailed API documentation for the `ReadEnabledModsAsync` method, including its purpose, parameters, and return type, as part of the `OpenConstructionSet.Installations.Installation` class. ```APIDOC Installation.ReadEnabledModsAsync(CancellationToken) Method Description: Reads the EnabledModsFile to get the currently enabled mod's filenames and their load order. e.g. example.mod Parameters: cancellationToken: Type: System.Threading.CancellationToken Description: Token used to cancel the operation. Returns: Type: System.Threading.Tasks.Task Description: A collection of mod filenames for the currently enabled mods in load order. Implements: ReadEnabledModsAsync(CancellationToken) ``` -------------------------------- ### C# Installation.TryFind Method Signature Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/RV9cpX7wWMtzjC_EJfEIEA.md The C# signature for the `TryFind` method, showing its public accessibility, return type, and parameters including an `out` parameter for the found mod file. ```csharp public bool TryFind(string modName, uint id, out OpenConstructionSet.Mods.IModFile file); ``` -------------------------------- ### OpenConstructionSet.Mods.Context.ModContext Constructor Parameters Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/WOV0VCiLJcXpFYsEbrTxxg.md This section details the parameters required to instantiate the ModContext class. The ModContext manages the state and data for a mod, including base items for comparison, active items for editing, installation details, mod name, ID generation tracking, mod header, and optional mod information. ```APIDOC OpenConstructionSet.Mods.Context.ModContext Constructor: ModContext( baseItems: System.Collections.Generic.Dictionary, activeItems: System.Collections.Generic.IEnumerable, installation: OpenConstructionSet.Installations.IInstallation, modName: System.String, lastId: System.Int32, header: OpenConstructionSet.Data.Header, info: OpenConstructionSet.Mods.ModInfoData ) Parameters: baseItems: System.Collections.Generic.Dictionary Collection of item's loaded as base data. Used to compare for changes when saving. activeItems: System.Collections.Generic.IEnumerable Collection of item's loaded as active data. Used for editing the mod. installation: OpenConstructionSet.Installations.IInstallation The installation to use when saving. modName: System.String The name of the mod when saving. lastId: System.Int32 The last ID used when generating an OpenConstructionSet.Data.IItem.StringId. header: OpenConstructionSet.Data.Header The header to use for the mod. info: OpenConstructionSet.Mods.ModInfoData Optional data for the mod's .info file. ``` -------------------------------- ### Open Construction Set Core Services API Source: https://github.com/lmaydev/openconstructionset/blob/main/README.md Overview of the main interfaces provided by Open Construction Set for interacting with game installations and managing mod contexts. These interfaces abstract the underlying complexities of file system and data handling. ```APIDOC IInstallationService: Description: Provides functions for locating installations of the game. IContextBuilder: Description: Provides functions for building FCS like Mod Contexts. These allow multiple base and/or active mods to be loaded for editing. ``` -------------------------------- ### Get ModInstance ID in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/mg_4oRKdOSRfjxfAm6pNsQ.md Retrieves the unique identifier of a ModInstance. This property is read-only and returns a string. ```csharp public string Id { get; } ``` -------------------------------- ### Instantiating Open Construction Set Services Directly Source: https://github.com/lmaydev/openconstructionset/blob/main/README.md This snippet illustrates how to directly create instances of the core Open Construction Set services, `InstallationService` and `ContextBuilder`, without relying on a dependency injection framework. This approach provides direct control over service instantiation. ```csharp var installationService = new InstallationService(); var contextBuilder = new ContextBuilder(); ``` -------------------------------- ### C# Method Signature for DiscoverInstallationAsync Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/BykB3PU1egFZQoAo1pb9lQ.md The C# signature for the DiscoverInstallationAsync method, showing its public accessibility, return type, and single string parameter. ```csharp public System.Threading.Tasks.Task DiscoverInstallationAsync(string locatorId); ``` -------------------------------- ### IInstallation.TryFind Method API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/oSpB2mMulQUN_RxRsvZfWg.md Detailed API documentation for the `TryFind` method, including its signature, parameters, and return type. ```APIDOC IInstallation.TryFind Method: Description: Attempts to find the named mod in all this IInstallation's folders. Signature: bool TryFind(string modName, uint id, out OpenConstructionSet.Mods.IModFile file); Parameters: modName: Type: System.String Description: Name of the mod to find e.g. example or example.mod id: Type: System.UInt32 Description: The ID from the mod's .info file. Only required for content folders. file: Type: OpenConstructionSet.Mods.IModFile Description: Will contain the located IModFile if found. Returns: Type: System.Boolean Description: true if the mod could be found; otherwise, false. ``` -------------------------------- ### C# SteamLocator Class Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/RjmwOmImzPYjY7Ad33GQcw.md Defines the SteamLocator class in C#, which implements the IInstallationLocator interface for locating Steam installations. ```csharp public class SteamLocator : OpenConstructionSet.Installations.Locators.IInstallationLocator ``` -------------------------------- ### Get StringId Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/aCBhN3kETnoa3JITJpV0hA.md Defines the StringId property within the OpenConstructionSet.Data.Item class, providing a read-only unique string identifier. ```csharp public string StringId { get; } ``` -------------------------------- ### Installation.WriteEnabledModsAsync API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/1Lnyh5tM2bf82B8fyEZkdQ.md Comprehensive API documentation for the `WriteEnabledModsAsync` method, detailing its parameters (`enabledMods`, `cancellationToken`) and return type (`System.Threading.Tasks.Task`). ```APIDOC Method: Installation.WriteEnabledModsAsync Signature: (System.Collections.Generic.IEnumerable enabledMods, System.Threading.CancellationToken cancellationToken) Description: Writes the provided list of mod filename's to the EnabledModsFile. e.g. example.mod Parameters: - Name: enabledMods Type: System.Collections.Generic.IEnumerable Description: Collection of mod filenames e.g. example.mod - Name: cancellationToken Type: System.Threading.CancellationToken Description: Token used to cancel the operation. Returns: Type: System.Threading.Tasks.Task Description: An awaitable System.Threading.Tasks.Task. ``` -------------------------------- ### ModContextOptions.LoadEnabledMods Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/xB6ngPkH5uxu2sdEseocOw.md Determines if and how the enabled mods will be loaded. This property is of type ModLoadType and allows setting or getting the mod loading behavior. ```csharp public OpenConstructionSet.Mods.ModLoadType LoadEnabledMods { get; set; } ``` -------------------------------- ### Get Path Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/MgA2soYCx2OWcdjqY9k8Sw.md Retrieves the path of the data file. This property is read-only and returns a string representing the file's location. ```csharp string Path { get; } ``` -------------------------------- ### ModInstance Constructor Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/ErEHbP62uQxhkpYYmJcz0Q.md Documentation for the ModInstance constructor, including its C# signature and detailed API parameter descriptions. ```csharp public ModInstance(string id, string targetId, OpenConstructionSet.Data.Vector3 position, OpenConstructionSet.Data.Vector4 rotation, System.Collections.Generic.IEnumerable states); ``` ```APIDOC ModInstance.ModInstance(string id, string targetId, OpenConstructionSet.Data.Vector3 position, OpenConstructionSet.Data.Vector4 rotation, System.Collections.Generic.IEnumerable states) Constructor Description: Creates a new ModInstance from the provided data. Parameters: id: System.String - The identifier for the ModInstance. targetId: System.String - The StringId of the targeted IItem. position: OpenConstructionSet.Data.Vector3 - The ModInstance's position. rotation: OpenConstructionSet.Data.Vector4 - The ModInstance's rotation. states: System.Collections.Generic.IEnumerable - A collection of states for the ModInstance. ``` -------------------------------- ### OpenConstructionSet.Installations.Installation.Data Property API Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/V7GrJUZ9G_LRxUMFqVs14Q.md Detailed API documentation for the 'Data' property within the 'OpenConstructionSet.Installations.Installation' class. This property is read-only, returns an 'IModFolder' instance representing the game's data folder, and implements the 'Data' property from the 'IInstallation' interface. ```APIDOC Installation.Data Property Description: A IModFolder for the game's data folder. Signature: public OpenConstructionSet.Installations.IModFolder Data { get; } Property Value: IModFolder Implements: Data (from IInstallation) ``` -------------------------------- ### C# InstallationService Class Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/2UPErl_vhvyYlM7GMO5htA.md Defines the OpenConstructionSet.InstallationService class, showing its inheritance from System.Object and implementation of IInstallationService. ```csharp public class InstallationService : OpenConstructionSet.IInstallationService ``` -------------------------------- ### APIDOC ModFolder Constructor Details Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/f_vGCXlNIvCxnFfvCpB5BA.md Detailed API documentation for the ModFolder constructor, including parameter types and descriptions. ```APIDOC ModFolder.ModFolder(string path, ModFolderType type) path (System.String): The path of the folder. type (ModFolderType): The ModFolderType of the folder. ``` -------------------------------- ### IItem.Type Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/__EbNigMkb+mPPdY6VrJ4Q.md Defines the 'Type' property within the `OpenConstructionSet.Data.IItem` interface, representing the kind of item. It is of type `ItemType` and provides both get and set accessors. ```csharp OpenConstructionSet.Data.ItemType Type { get; set; } ``` ```APIDOC OpenConstructionSet.Data.IItem: Properties: Type: Description: The type of item this represents. Type: OpenConstructionSet.Data.ItemType Access: get, set ``` -------------------------------- ### Define ModFolderType Enum in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/tvFG7Y02ARYAIWnj1lFIPw.md Defines the `ModFolderType` enumeration in C#, which is used to categorize different types of mod installation folders within the OpenConstructionSet project. ```csharp public enum ModFolderType ``` -------------------------------- ### API Reference for Installation.GetMods() Method Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/f3SsraXCHeiqmn7E0ddyiw.md Detailed API documentation for the `GetMods()` method, describing its purpose to search for mods and the type of collection it returns. ```APIDOC Installation.GetMods() Description: Search all IModFolders for mods. Searches in the order Data, Mod, Content (if not null). Signature: public virtual System.Collections.Generic.IEnumerable GetMods(); Returns: Type: System.Collections.Generic.IEnumerable Description: A collection of IModFiles for the IInstallation. ``` -------------------------------- ### IModFolder Interface API Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/wh7_cj0PEb2QTfOlBPaoIQ.md Comprehensive API documentation for the `IModFolder` interface, detailing its properties and methods for managing mod folders. It includes descriptions, parameters, and return types for each member. ```APIDOC IModFolder Interface Description: Represents a folder containing mods. Derived: ModFolder Properties: Path: Type: string Description: The IModFolder's path. Type: Type: ModFolderType Description: The ModFolderType for this IModFolder. Methods: GetModPath(name: string, id: uint): Description: Gets the full path of the provided mod name or filename. e.g. example.mod or example Parameters: name: string id: uint Returns: string GetMods(): Description: Search the IModFolder for mods. Returns: collection of IModFile TryFind(name: string, modFile: IModFile): Description: Attempts to find the named mod in the IModFolder. Parameters: name: string modFile: IModFile (out) Returns: bool TryFind(name: string, id: uint, modFile: IModFile): Description: Attempts to find the named mod in the IModFolder. Parameters: name: string id: uint modFile: IModFile (out) Returns: bool ``` -------------------------------- ### Get LocalLocator Id Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/nV242Prqx_znbMDChKOz4A.md Retrieves the unique identifier for the `LocalLocator` instance. This property is read-only and returns a string, implementing the `Id` property from the `IInstallationLocator` interface. ```csharp public string Id { get; } ``` -------------------------------- ### IInstallation Interface API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/+q+t_1kaSScZooYXO5QOWw.md Comprehensive API documentation for the `IInstallation` interface, detailing its properties for accessing game folders and files, and methods for managing mods, including searching, reading, and writing enabled mod lists. ```APIDOC IInstallation Interface: Description: Representation of an installation of the game. Derived: Installation Properties: Content: Description: An Optional content IModFolder. Currently used for the Steam Workshop folder. Data: Description: A IModFolder for the game's data folder. EnabledModsFile: Description: The path of the file that stores the enabled mods. Identifier: Description: Identifier of this IInstallation. Mods: Description: A IModFolder for the game's mods folder. Path: Description: The path of this IInstallation's game folder. Methods: GetMods(): Description: Search all IModFolders for mods. Searches in the order Data, Mod, Content (if not null). ReadEnabledModsAsync(CancellationToken cancellationToken): Description: Reads the EnabledModsFile to get the currently enabled mod's filenames and their load order. e.g. example.mod Parameters: cancellationToken: System.Threading.CancellationToken TryFind(string modName, IModFile modFile): Description: Attempts to find the named mod in all this IInstallation's folders. Parameters: modName: string modFile: IModFile (out parameter) TryFind(string modName, uint modId, IModFile modFile): Description: Attempts to find the named mod in all this IInstallation's folders. Parameters: modName: string modId: uint modFile: IModFile (out parameter) WriteEnabledModsAsync(IEnumerable modFilenames, CancellationToken cancellationToken): Description: Writes the provided list of mod filename's to the EnabledModsFile. e.g. example.mod Parameters: modFilenames: System.Collections.Generic.IEnumerable cancellationToken: System.Threading.CancellationToken ``` -------------------------------- ### Get ModReferenceCategory Name Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/E1hdpMoTpzgZjVtrsIgcyA.md This C# property provides read-only access to the name of a ModReferenceCategory instance. It implements the Name property from IReferenceCategory and returns a System.String. ```csharp public string Name { get; } ``` -------------------------------- ### ModFolder.TryFind Method API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/nSQTJ8loF8+TEhgTyw4F6g.md Comprehensive API documentation for the ModFolder.TryFind method, detailing its purpose, parameters, and return value. ```APIDOC ModFolder.TryFind(string modName, uint id, out OpenConstructionSet.Mods.IModFile file) Method: Description: Attempts to find the named mod in the IModFolder. Parameters: modName: Type: System.String Description: Name of the mod to find e.g. example or example.mod id: Type: System.UInt32 Description: The ID from the mod's .info file. Only required for content folders. file: Type: OpenConstructionSet.Mods.IModFile (out parameter) Description: Will contain the located IModFile if found. Returns: Type: System.Boolean Description: true if the mod could be found; otherwise, false. ``` -------------------------------- ### Get Info Path for Mod File Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/6KHyMyVy3fkGQBBwO9GHCA.md Retrieves the path of the info file associated with a given mod file. This method is part of the `OcsPathHelper` class in `OpenConstructionSet.IO`. ```csharp public static string GetInfoPath(string mod); ``` ```APIDOC Method: OcsPathHelper.GetInfoPath Signature: public static string GetInfoPath(string mod); Description: Gets the path of the info file for the given mod file. Parameters: mod: Type: System.String Description: The file to get the info file name for. Returns: Type: System.String Description: The path of the info file for the specified mod. ``` -------------------------------- ### C# InstallationService Default Constructor Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/w8jGyxEUNhtcKroYuZvlLA.md Defines the default constructor for the InstallationService class, which initializes a new instance using the default IInstallationLocator implementations. ```csharp public InstallationService(); ``` -------------------------------- ### OpenConstructionSet.Installations.Installation.Identifier Property API Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/ohskzlAuvytjdymtTVcp6g.md Comprehensive API documentation for the `Identifier` property of the `OpenConstructionSet.Installations.Installation` class, detailing its type, access, and implementation. ```APIDOC Property: Installation.Identifier Description: Identifier of this IInstallation. Type: System.String Access: Read-only Implements: IInstallation.Identifier C# Signature: public string Identifier { get; } ``` -------------------------------- ### C# IInstallationService.SupportedLocators Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/5SAW26z59inehV8M75uUOQ.md Defines the 'SupportedLocators' property within the 'IInstallationService' interface. This read-only property returns an array of strings, representing the IDs of supported installation locators. ```csharp string[] SupportedLocators { get; } ``` -------------------------------- ### C# ModInfoData Title Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/_QaAnl0+ZFncEVK21TkG3Q.md Defines the 'Title' property within the 'ModInfoData' class. This property is used to get or set the mod's title. Its value is a System.String. ```csharp public string Title { get; set; } ``` -------------------------------- ### ISave.GetPlatoonFiles() Method API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/bec_wj7PkXNWWKGeNH2xzw.md Detailed API documentation for the `GetPlatoonFiles()` method, including its C# signature and a description of its return value. ```csharp System.Collections.Generic.IEnumerable GetPlatoonFiles(); ``` ```APIDOC Method: GetPlatoonFiles() Description: Get's all IPlatoonFiles in the PlatoonFolder. Returns: Type: System.Collections.Generic.IEnumerable Description: A collection of IPlatoonFiles contained in this ISave. ``` -------------------------------- ### Accessing Mod Info Data in IModContext Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/QHcQjOHfdyiawmzQgrq3ow.md This snippet defines the 'Info' property of the 'IModContext' interface, which allows getting and setting optional mod information data. It is nullable and of type 'ModInfoData'. ```APIDOC IModContext.Info Property: Description: The optional data for the mod's .info file. Signature: OpenConstructionSet.Mods.ModInfoData? Info { get; set; } Property Value: OpenConstructionSet.Mods.ModInfoData ``` ```csharp OpenConstructionSet.Mods.ModInfoData? Info { get; set; } ``` -------------------------------- ### C# ModInfoData.ModName Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/GhfZyUJoz3DKGnumMU9zbA.md Defines the 'ModName' property as a public string with get and set accessors. This property is used to store the name of a mod within the 'ModInfoData' class. ```csharp public string ModName { get; set; } ``` -------------------------------- ### ModFolder Class API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/wm8mvflY+X70b3tSoQrLmA.md Detailed API documentation for the ModFolder class, including its constructors, properties, and methods for managing mod folders and files within the OpenConstructionSet.Installations namespace. ```APIDOC ModFolder Class: Inherits: System.Object Implements: IModFolder Constructors: ModFolder(string path, ModFolderType type) Description: Creates a new ModFolder instance from the provided values. Properties: Path: string Description: The IModFolder's path. Type: ModFolderType Description: The ModFolderType for this IModFolder. Methods: GetModPath(string nameOrFilename, uint id) Description: Gets the full path of the provided mod name or filename. e.g. example.mod or example GetMods() Description: Search the IModFolder for mods. ToString() Description: Returns a string that represents the current object. TryFind(string name, IModFile modFile) Description: Attempts to find the named mod in the IModFolder. TryFind(string name, uint id, IModFile modFile) Description: Attempts to find the named mod in the IModFolder. ``` -------------------------------- ### C# Vector3 Y Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/A7d1XNW2fBbPn0Hpn1o4ag.md Defines the public `Y` property for the `Vector3` struct. This property allows getting and setting the Y-coordinate value, which is a single-precision floating-point number (`float`). ```csharp public float Y { get; set; } ``` -------------------------------- ### SaveFolder Constructor API Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/YFvwTwjg9kNHH5iWu_J2aA.md Detailed API documentation for the SaveFolder constructor, including its purpose and parameter specifications. ```APIDOC SaveFolder.SaveFolder(string) Constructor Description: Creats a new SaveFolder instance from the given path. Parameters: path: Type: System.String Description: The path of the SaveFolder. ``` -------------------------------- ### C# Instance.Rotation Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/6qz7RNqOGaez3VaVNeao3w.md Defines the public C# property 'Rotation' within the OpenConstructionSet.Data.Instance class, which is of type Vector4 and allows both getting and setting the instance's rotation. ```csharp public OpenConstructionSet.Data.Vector4 Rotation { get; set;} ``` -------------------------------- ### API Documentation for ModInstanceCollection.Add Method Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/WYu4qGXWbySYtN_KfXas+w.md Detailed API documentation for the ModInstanceCollection.Add method, including its parameters and their descriptions. ```APIDOC ModInstanceCollection.Add(ModInstance) Method Parameters: item: Type: ModInstance Description: The ModInstance to add. ``` -------------------------------- ### DataFile Constructor API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/lH0LB6xtckRcS1QJlyvvkQ.md API documentation for the OpenConstructionSet.Data.DataFile constructor, detailing its signature and the 'path' parameter. ```APIDOC DataFile.DataFile(string) Constructor Description: Creates a new DataFile from the given path. Signature: public DataFile(string path); Parameters: path: System.String Description: The path of the data file e.g. \\path\\to\\file\\example.ext ``` -------------------------------- ### APIDOC IModFolder.TryFind Method Details Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/Lys15ylxqogs5pWuAVjGOw.md Comprehensive API documentation for the `IModFolder.TryFind` method, detailing its purpose, input parameters (`modName`, `file`), and the boolean return value indicating success or failure. ```APIDOC IModFolder.TryFind(string modName, out OpenConstructionSet.Mods.IModFile file) Method Description: Attempts to find the named mod in the IModFolder. Parameters: modName: Type: System.String Description: Name of the mod to find e.g. example or example.mod file: Type: IModFile Description: Will contain the located IModFile if found. Returns: Type: System.Boolean Description: true if the mod could be found; otherwise, false. ``` -------------------------------- ### C# FileValue.Path Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/b8MDdyv5g0KAMT+MDBtQlA.md Defines the `Path` property of the `FileValue` class in C#. This property allows getting and setting the file path referenced by a `FileValue` instance. Its value is a `System.String`. ```csharp public string Path { get; set; } ``` -------------------------------- ### ModContextOptions.Header Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/VS3GuhFSHyHLevOlycDN1Q.md Documents the 'Header' property of the ModContextOptions class. This property allows setting or getting the header for the active mod and is of type OpenConstructionSet.Data.Header, which can be nullable. It provides both read and write access. ```APIDOC Property: ModContextOptions.Header Description: The header to use for the active mod. Type: OpenConstructionSet.Data.Header? Access: get, set Property Value Type: OpenConstructionSet.Data.Header ``` ```csharp public OpenConstructionSet.Data.Header? Header { get; set; } ``` -------------------------------- ### C# Installation.GetMods() Method Signature Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/f3SsraXCHeiqmn7E0ddyiw.md Provides the C# signature for the `GetMods()` method, indicating it is a virtual method returning an enumerable collection of `IModFile` objects. ```csharp public virtual System.Collections.Generic.IEnumerable GetMods(); ``` -------------------------------- ### Get Path Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/T34qLg3kIUQm3rsUvlrtUA.md Retrieves the path of the data file. This property is read-only and returns a string representing the file's location. It implements the Path property from the IDataFile interface. ```csharp public string Path { get; } ``` -------------------------------- ### SteamLocator Class API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/RjmwOmImzPYjY7Ad33GQcw.md Detailed API documentation for the SteamLocator class, including its inheritance, implemented interfaces, properties, and methods. ```APIDOC Class: SteamLocator Description: Steam implementation of a IInstallationLocator Inherits: System.Object Implements: IInstallationLocator Properties: Id: Description: The unique identifier for this locator. Methods: LocateAsync(): Description: Attempt to find an installation. ``` -------------------------------- ### Define C# ModItem Name Property Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/DjbfYFRXA0WIaH+ruTpOaw.md Defines the 'Name' property for the 'ModItem' class in C#. This property allows getting and setting the string value representing the item's name. ```csharp public string Name { get; set; } ``` -------------------------------- ### Get ModFile Name Property Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/kJ0rnXtOx1e9dlkPJr3dVg.md This snippet defines the `Name` property of the `ModFile` class, which is a read-only string representing the name of a mod file. It is of type `System.String` and implements the `Name` property from the `IModFile` interface. ```csharp public string Name { get; } ``` ```APIDOC ModFile.Name Property\n Description: The name of the mod file. e.g. example\n Type: System.String\n Implements: OpenConstructionSet.Mods.IModFile.Name ``` -------------------------------- ### C# IInstallation.WriteEnabledModsAsync Method Signature Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/fFzRimNFcacL8fMk4nIhQw.md Defines the asynchronous method signature for writing enabled mod filenames to the installation's configuration. It takes a collection of mod filenames and an optional cancellation token. ```csharp System.Threading.Tasks.Task WriteEnabledModsAsync(System.Collections.Generic.IEnumerable enabledMods, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken)); ``` -------------------------------- ### GogLocator Class API Documentation Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/l3O97zQ2yef7ROVxwGUkbQ.md API documentation for the GogLocator class, detailing its properties and methods. This class is a GOG-specific implementation of the IInstallationLocator interface. ```APIDOC GogLocator Class: Description: Gog implementation of a IInstallationLocator Inheritance: System.Object → GogLocator Implements: IInstallationLocator Properties: Id: Description: The unique identifier for this locator. Methods: LocateAsync(): Description: Attempt to find an installation. ``` -------------------------------- ### Get Hash Code for Reference Object in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/ieD2bqf5aQsz5tPhsFEzfA.md This method serves as the default hash function for the `OpenConstructionSet.Data.Reference` object, returning an integer hash code for the current object. It overrides the base `System.Object.GetHashCode()` method. ```csharp public override int GetHashCode(); ``` ```APIDOC Method: GetHashCode() Purpose: Serves as the default hash function. Returns: Type: System.Int32 Description: A hash code for the current object. ``` -------------------------------- ### APIDOC: ContextBuilder.BuildAsync Method Details Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/XB4XcezZcTpkU7mLWkEK4w.md Detailed API documentation for the BuildAsync method, including its purpose, parameters, and return type. ```APIDOC ContextBuilder.BuildAsync(ModContextOptions) Method: Description: Build a IModContext from the provided ModContextOptions. Parameters: options: Type: OpenConstructionSet.Mods.Context.ModContextOptions Description: The options used to build the IModContext. Returns: Type: System.Threading.Tasks.Task Description: A task representing the asynchronous operation, returning an IModContext. ``` -------------------------------- ### C# Vector4 Y Property Definition Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/ZNCGIwQiUYLzXxOPrpwojQ.md This C# code snippet defines the 'Y' property within the 'Vector4' class. It is a public float property that supports both getting and setting its value, representing the Y-coordinate of the vector. ```csharp public float Y { get; set; } ``` -------------------------------- ### ZoneFile Constructor API Reference Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/zSS1iy+RTymMawah16aMrg.md Detailed API documentation for the `ZoneFile` constructor, including its purpose, parameters, and their types and descriptions. ```APIDOC Class: OpenConstructionSet.Saves.ZoneFile Constructor: ZoneFile(string path) Description: Creats a new ZoneFile instance from the given path. Parameters: path: Type: System.String Description: The path of the ZoneFile. ``` -------------------------------- ### Get References Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/PRJgbub0dIk5vUM4BOmTLg.md This C# code snippet defines the `References` property within the `ReferenceCategory` class. It is a read-only property that returns a list of `Reference` objects, representing a collection of stored references. ```csharp public System.Collections.Generic.List References { get; } ``` -------------------------------- ### Get ReferenceCategories Property in C# Source: https://github.com/lmaydev/openconstructionset/blob/main/docs/api/mU9jnGVs0NHPk34WwJX0yQ.md Retrieves a list of `ReferenceCategory` instances associated with an `Item` object. This property is read-only and provides access to the item's categorized references. It implements the `ReferenceCategories` property from the `IItem` interface. ```C# public System.Collections.Generic.List ReferenceCategories { get; } ``` ```APIDOC Property: ReferenceCategories Description: Collection of ReferenceCategory instances stored by this Item. Type: System.Collections.Generic.List Access: Read-only (get) Implements: OpenConstructionSet.Data.IItem.ReferenceCategories ```