C# 클래스 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.
상속: IGameMode, IDisposable
파일 보기 프로젝트 열기: NexusMods/NexusModManager-4.5

공개 메소드들

메소드 설명
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.

보호된 메소드들

메소드 설명
CreateGameModeDescriptor ( ) : IGameModeDescriptor

Creates a game mode descriptor for the current game mode.

Dispose ( bool p_booDisposing ) : void

Disposes of the unamanged resources.

메소드 상세

CheckSecondaryInstall() 공개 메소드

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

CheckSecondaryUninstall() 공개 메소드

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

CreateGameModeDescriptor() 보호된 추상적인 메소드

Creates a game mode descriptor for the current game mode.
protected abstract CreateGameModeDescriptor ( ) : IGameModeDescriptor
리턴 IGameModeDescriptor

Dispose() 공개 메소드

Ensures all used resources are released.
public Dispose ( ) : void
리턴 void

Dispose() 보호된 메소드

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

GameModeBase() 공개 메소드

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.
리턴 System

GetActivePluginLogSerializer() 공개 추상적인 메소드

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.
리턴 IActivePluginLogSerializer

GetGameSpecificValueInstaller() 공개 추상적인 메소드

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.
리턴 IGameSpecificValueInstaller

GetGameSpecificValueUpgradeInstaller() 공개 추상적인 메소드

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.
리턴 IGameSpecificValueInstaller

GetModFormatAdjustedPath() 공개 메소드

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
리턴 string

GetModFormatAdjustedPath() 공개 메소드

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.
리턴 string

GetPluginDiscoverer() 공개 추상적인 메소드

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

GetPluginFactory() 공개 추상적인 메소드

Gets the factory that builds plugins for this game mode.
public abstract GetPluginFactory ( ) : IPluginFactory
리턴 IPluginFactory

GetPluginOrderLogSerializer() 공개 추상적인 메소드

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

GetPluginOrderValidator() 공개 추상적인 메소드

Gets the object that validates plugin order for this game mode.
public abstract GetPluginOrderValidator ( ) : IPluginOrderValidator
리턴 IPluginOrderValidator

GetUpdaters() 공개 추상적인 메소드

Gets the updaters used by the game mode.
public abstract GetUpdaters ( ) : IEnumerable
리턴 IEnumerable

IsCriticalPlugin() 공개 메소드

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.
리턴 bool

ModFileMerge() 공개 메소드

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.
리턴 void

SortPlugins() 공개 메소드

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