C# Class Nexus.Client.Games.GameModeBase

The base class for game modes.
A Game Mode is a state in which the programme manages plugins for a specific game.
Inheritance: IGameMode, IDisposable
Afficher le fichier Open project: NexusMods/NexusModManager-4.5

Méthodes publiques

Méthode Description
CheckSecondaryInstall ( IMod p_modMod ) : bool

Checks whether to use the secondary mod install method.

CheckSecondaryUninstall ( string p_strFileName ) : bool

Checks whether the system needs to uninstal secondary parameters.

Dispose ( ) : void

Ensures all used resources are released.

GameModeBase ( IEnvironmentInfo p_eifEnvironmentInfo ) : System

A simple constructor that initializes the object with the given values.

GetActivePluginLogSerializer ( IPluginOrderLog p_polPluginOrderLog ) : IActivePluginLogSerializer

Gets the serailizer that serializes and deserializes the list of active plugins for this game mode.

GetGameSpecificValueInstaller ( IMod p_modMod, IInstallLog p_ilgInstallLog, TxFileManager p_tfmFileManager, FileUtil p_futFileUtility, ConfirmItemOverwriteDelegate p_dlgOverwriteConfirmationDelegate ) : IGameSpecificValueInstaller

Gets the installer to use to install game specific values.

GetGameSpecificValueUpgradeInstaller ( IMod p_modMod, IInstallLog p_ilgInstallLog, TxFileManager p_tfmFileManager, FileUtil p_futFileUtility, ConfirmItemOverwriteDelegate p_dlgOverwriteConfirmationDelegate ) : IGameSpecificValueInstaller

Gets the installer to use to upgrade game specific values.

GetModFormatAdjustedPath ( IModFormat p_mftModFormat, string p_strPath ) : string

Adjusts the given path to be relative to the installation path of the game mode.

This is basically a hack to allow older FOMods to work. Older FOMods assumed the installation path of Fallout games to be <games>/data, but this new manager specifies the installation path to be <games>. This breaks the older FOMods, so this method can detect the older FOMods (or other mod formats that needs massaging), and adjusts the given path to be relative to the new instaalation path to make things work.

GetModFormatAdjustedPath ( IModFormat p_mftModFormat, string p_strPath, IMod p_modMod ) : string

Adjusts the given path to be relative to the installation path of the game mode.

This is basically a hack to allow older FOMods to work. Older FOMods assumed the installation path of Fallout games to be <games>/data, but this new manager specifies the installation path to be <games>. This breaks the older FOMods, so this method can detect the older FOMods (or other mod formats that needs massaging), and adjusts the given path to be relative to the new instaalation path to make things work.

GetPluginDiscoverer ( ) : IPluginDiscoverer

Gets the discoverer to use to find the plugins managed by this game mode.

GetPluginFactory ( ) : IPluginFactory

Gets the factory that builds plugins for this game mode.

GetPluginOrderLogSerializer ( ) : IPluginOrderLogSerializer

Gets the serializer that serializes and deserializes the plugin order for this game mode.

GetPluginOrderValidator ( ) : IPluginOrderValidator

Gets the object that validates plugin order for this game mode.

GetUpdaters ( ) : IEnumerable

Gets the updaters used by the game mode.

IsCriticalPlugin ( Plugin p_plgPlugin ) : bool

Determines if the given plugin is critical to the current game.

Critical plugins cannot be reordered, cannot be deleted, cannot be deactivated, and cannot have plugins ordered above them.

ModFileMerge ( ReadOnlyObservableList p_rolActiveMods, IMod p_modMod, bool p_booRemove ) : void

Merges the mod files if requested by the game.

SortPlugins ( IList p_lstPlugins ) : string[]

Automatically sorts the given plugin list.

Méthodes protégées

Méthode Description
CreateGameModeDescriptor ( ) : IGameModeDescriptor

Creates a game mode descriptor for the current game mode.

Dispose ( bool p_booDisposing ) : void

Disposes of the unamanged resources.

Method Details

CheckSecondaryInstall() public méthode

Checks whether to use the secondary mod install method.
public CheckSecondaryInstall ( IMod p_modMod ) : bool
p_modMod IMod The mod to be installed.
Résultat bool

CheckSecondaryUninstall() public méthode

Checks whether the system needs to uninstal secondary parameters.
public CheckSecondaryUninstall ( string p_strFileName ) : bool
p_strFileName string The filename.
Résultat bool

CreateGameModeDescriptor() protected abstract méthode

Creates a game mode descriptor for the current game mode.
protected abstract CreateGameModeDescriptor ( ) : IGameModeDescriptor
Résultat IGameModeDescriptor

Dispose() public méthode

Ensures all used resources are released.
public Dispose ( ) : void
Résultat void

Dispose() protected méthode

Disposes of the unamanged resources.
protected Dispose ( bool p_booDisposing ) : void
p_booDisposing bool Whether the method is being called from the method.
Résultat void

GameModeBase() public méthode

A simple constructor that initializes the object with the given values.
public GameModeBase ( IEnvironmentInfo p_eifEnvironmentInfo ) : System
p_eifEnvironmentInfo IEnvironmentInfo The application's environment info.
Résultat System

GetActivePluginLogSerializer() public abstract méthode

Gets the serailizer that serializes and deserializes the list of active plugins for this game mode.
public abstract GetActivePluginLogSerializer ( IPluginOrderLog p_polPluginOrderLog ) : IActivePluginLogSerializer
p_polPluginOrderLog IPluginOrderLog The tracking plugin order for the current game mode.
Résultat IActivePluginLogSerializer

GetGameSpecificValueInstaller() public abstract méthode

Gets the installer to use to install game specific values.
public abstract GetGameSpecificValueInstaller ( IMod p_modMod, IInstallLog p_ilgInstallLog, TxFileManager p_tfmFileManager, FileUtil p_futFileUtility, ConfirmItemOverwriteDelegate p_dlgOverwriteConfirmationDelegate ) : IGameSpecificValueInstaller
p_modMod IMod The mod being installed.
p_ilgInstallLog IInstallLog The install log to use to log the installation of the game specific values.
p_tfmFileManager ChinhDo.Transactions.TxFileManager The transactional file manager to use to interact with the file system.
p_futFileUtility Nexus.Client.Util.FileUtil The file utility class.
p_dlgOverwriteConfirmationDelegate ConfirmItemOverwriteDelegate The method to call in order to confirm an overwrite.
Résultat IGameSpecificValueInstaller

GetGameSpecificValueUpgradeInstaller() public abstract méthode

Gets the installer to use to upgrade game specific values.
public abstract GetGameSpecificValueUpgradeInstaller ( IMod p_modMod, IInstallLog p_ilgInstallLog, TxFileManager p_tfmFileManager, FileUtil p_futFileUtility, ConfirmItemOverwriteDelegate p_dlgOverwriteConfirmationDelegate ) : IGameSpecificValueInstaller
p_modMod IMod The mod being upgraded.
p_ilgInstallLog IInstallLog The install log to use to log the installation of the game specific values.
p_tfmFileManager ChinhDo.Transactions.TxFileManager The transactional file manager to use to interact with the file system.
p_futFileUtility Nexus.Client.Util.FileUtil The file utility class.
p_dlgOverwriteConfirmationDelegate ConfirmItemOverwriteDelegate The method to call in order to confirm an overwrite.
Résultat IGameSpecificValueInstaller

GetModFormatAdjustedPath() public méthode

Adjusts the given path to be relative to the installation path of the game mode.
This is basically a hack to allow older FOMods to work. Older FOMods assumed the installation path of Fallout games to be <games>/data, but this new manager specifies the installation path to be <games>. This breaks the older FOMods, so this method can detect the older FOMods (or other mod formats that needs massaging), and adjusts the given path to be relative to the new instaalation path to make things work.
public GetModFormatAdjustedPath ( IModFormat p_mftModFormat, string p_strPath ) : string
p_mftModFormat IModFormat The mod format for which to adjust the path.
p_strPath string The path to adjust
Résultat string

GetModFormatAdjustedPath() public méthode

Adjusts the given path to be relative to the installation path of the game mode.
This is basically a hack to allow older FOMods to work. Older FOMods assumed the installation path of Fallout games to be <games>/data, but this new manager specifies the installation path to be <games>. This breaks the older FOMods, so this method can detect the older FOMods (or other mod formats that needs massaging), and adjusts the given path to be relative to the new instaalation path to make things work.
public GetModFormatAdjustedPath ( IModFormat p_mftModFormat, string p_strPath, IMod p_modMod ) : string
p_mftModFormat IModFormat The mod format for which to adjust the path.
p_strPath string The path to adjust.
p_modMod IMod The mod.
Résultat string

GetPluginDiscoverer() public abstract méthode

Gets the discoverer to use to find the plugins managed by this game mode.
public abstract GetPluginDiscoverer ( ) : IPluginDiscoverer
Résultat IPluginDiscoverer

GetPluginFactory() public abstract méthode

Gets the factory that builds plugins for this game mode.
public abstract GetPluginFactory ( ) : IPluginFactory
Résultat IPluginFactory

GetPluginOrderLogSerializer() public abstract méthode

Gets the serializer that serializes and deserializes the plugin order for this game mode.
public abstract GetPluginOrderLogSerializer ( ) : IPluginOrderLogSerializer
Résultat IPluginOrderLogSerializer

GetPluginOrderValidator() public abstract méthode

Gets the object that validates plugin order for this game mode.
public abstract GetPluginOrderValidator ( ) : IPluginOrderValidator
Résultat IPluginOrderValidator

GetUpdaters() public abstract méthode

Gets the updaters used by the game mode.
public abstract GetUpdaters ( ) : IEnumerable
Résultat IEnumerable

IsCriticalPlugin() public méthode

Determines if the given plugin is critical to the current game.
Critical plugins cannot be reordered, cannot be deleted, cannot be deactivated, and cannot have plugins ordered above them.
public IsCriticalPlugin ( Plugin p_plgPlugin ) : bool
p_plgPlugin Nexus.Client.Plugins.Plugin The plugin for which it is to be determined whether or not it is critical.
Résultat bool

ModFileMerge() public méthode

Merges the mod files if requested by the game.
public ModFileMerge ( ReadOnlyObservableList p_rolActiveMods, IMod p_modMod, bool p_booRemove ) : void
p_rolActiveMods ReadOnlyObservableList The list of active mods.
p_modMod IMod The current mod.
p_booRemove bool Whether we're adding or removing the mod.
Résultat void

SortPlugins() public méthode

Automatically sorts the given plugin list.
public SortPlugins ( IList p_lstPlugins ) : string[]
p_lstPlugins IList The plugin list to sort.
Résultat string[]