C# Class Nexus.Client.Games.Gamebryo.PluginManagement.LoadOrder.PluginOrderManager

The interface for LibLoadOrder functionality.
This use LibLoadOrder API to expose its plugin sorting and activation abilities.
Inheritance: ILoadOrderManager, IDisposable
显示文件 Open project: NexusMods/NexusModManager-4.5 Class Usage Examples

Public Methods

Method Description
Dispose ( ) : void

Disposes of any resources that the LoadOrderManager allocated.

GetActivePlugins ( ) : string[]

Gets the list of active plugins.

GetIndexedPlugin ( Int32 p_intIndex ) : string

Gets the plugin at the specified load index.

GetLoadOrder ( ) : string[]

Gets the list of plugin, sorted by load order.

GetPluginLoadOrder ( string p_strPlugin ) : Int32

Gets the load index of the specified plugin.

IsMaster ( string p_strPlugin ) : bool

Gets whether the plugin is a master file.

IsPluginActive ( string p_strPlugin ) : bool

Determines if the specified plugin is active.

MasterlistHasUpdate ( ) : bool

Updates the masterlist at the given path.

PluginOrderManager ( IEnvironmentInfo p_eifEnvironmentInfo, GamebryoGameModeBase p_gmdGameMode, FileUtil p_futFileUtility ) : System

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

SetActivePlugins ( string p_strActivePlugins ) : void

Sets the list of active plugins.

SetLoadOrder ( string p_strPlugins ) : void

Sets the load order of the plugins.

SetPluginActive ( string p_strPlugin, bool p_booActive ) : void

Sets the active status of the specified plugin.

SetPluginLoadOrder ( string p_strPlugin, Int32 p_intIndex ) : void

Sets the load order of the specified plugin.

Sets the load order of the specified plugin, removing it from its current position if it has one. The first position in the load order is 0. If the index specified is greater than the number of plugins in the load order, the plugin will be inserted at the end of the load order.

SortMods ( bool p_booTrialOnly ) : string[]

Sorts the user's mods

UpdateMasterlist ( ) : void

Updates the masterlist at the given path.

Protected Methods

Method Description
AddPluginDirectory ( string p_strPlugin ) : string

Makes the given plugin path absolute.

Dispose ( bool p_booDisposing ) : void

Disposes of the unamanged resources need for LibLoadOrder API.

StripPluginDirectory ( string p_strPlugin ) : string

Removes the plugin directory from the given plugin path.

BAPI expects plugin paths to be relative to the plugins directory. This adjusts the plugin path for that purpose.

StripPluginDirectory ( string p_strPlugins ) : string[]

Removes the plugin directory from the given plugin paths.

BAPI expects plugin paths to be relative to the plugins directory. This adjusts the plugin paths for that purpose.

Private Methods

Method Description
AddMissingElements ( IList p_lstOrdered, bool p_booPluginFileOnly ) : void

Adds plugins missing from the loadorder file to the ordered list.

Backup ( string p_strDataFolder ) : void

Backup the plugins.txt and loadorder.txt files

FileWatcherOnChangedLoose ( object source, FileSystemEventArgs e ) : void

Handles changes made to files in the plugin installation folder.

FileWatcherOnChangedTxt ( object source, FileSystemEventArgs e ) : void

Handles changes made to text files.

FileWatcherOnCreatedLoose ( object source, FileSystemEventArgs e ) : void

Handles new files added to the plugin installation folder.

FileWatcherOnDeletedLoose ( object source, FileSystemEventArgs e ) : void

Handles files removed from the plugin installation folder.

GetActiveList ( ) : List

Gets the list of active plugins.

GetSortedListLoadOrder ( ) : string[]

Gets the list of plugin from a file, sorted by load order.

GetTimestampLoadOrder ( ) : string[]

Gets the list of plugin, sorted by load order.

InitializeManager ( ) : void

Initializes the Plugin Order manager.

IsFileReady ( String p_strFilePath ) : bool?

Checks whether the file to write to is currently free for use.

RemoveNonExistentPlugins ( string p_strPlugins ) : string[]

Removes non-existent and ghosted plugins from the given list.

RunningTask_TaskEnded ( object sender, TaskEndedEventArgs e ) : void

Handles the IBackgroundTask.TaskEnded event of a task set.

This displays the confirmation message.

SetActivePluginsTask ( string p_strActivePlugins ) : void

Sets the list of active plugins.

SetSortedListLoadOrder ( string p_strPlugins ) : void

Sets the load order of the plugins in a file.

SetTimestampLoadOrder ( string p_strPlugins ) : void

Sets the load order of the plugins.

SetupWatcher ( string p_strGameModeLocal ) : void

Initializes File Watcher.

TaskList_CollectionChanged ( object sender, NotifyCollectionChangedEventArgs e ) : void

Handles the INotifyCollectionChanged.CollectionChanged event of the view model's installed mod list.

This updates the list of mods to refelct changes to the installed mod list.

WriteLoadOrder ( string p_strFilePath, string p_strPlugins ) : void

Handles write operations to the load order file.

Method Details

AddPluginDirectory() protected method

Makes the given plugin path absolute.
protected AddPluginDirectory ( string p_strPlugin ) : string
p_strPlugin string The plugin path to adjust.
return string

Dispose() public method

Disposes of any resources that the LoadOrderManager allocated.
public Dispose ( ) : void
return void

Dispose() protected method

Disposes of the unamanged resources need for LibLoadOrder API.
protected Dispose ( bool p_booDisposing ) : void
p_booDisposing bool Whether the method is being called from the method.
return void

GetActivePlugins() public method

Gets the list of active plugins.
public GetActivePlugins ( ) : string[]
return string[]

GetIndexedPlugin() public method

Gets the plugin at the specified load index.
public GetIndexedPlugin ( Int32 p_intIndex ) : string
p_intIndex System.Int32 The load index of the plugin to retrieve.
return string

GetLoadOrder() public method

Gets the list of plugin, sorted by load order.
public GetLoadOrder ( ) : string[]
return string[]

GetPluginLoadOrder() public method

Gets the load index of the specified plugin.
public GetPluginLoadOrder ( string p_strPlugin ) : Int32
p_strPlugin string The plugin whose load order is to be retrieved.
return System.Int32

IsMaster() public method

Gets whether the plugin is a master file.
public IsMaster ( string p_strPlugin ) : bool
p_strPlugin string The plugin for which it is to be determined if the file is a plugin.
return bool

IsPluginActive() public method

Determines if the specified plugin is active.
public IsPluginActive ( string p_strPlugin ) : bool
p_strPlugin string The plugins whose active state is to be determined.
return bool

MasterlistHasUpdate() public method

Updates the masterlist at the given path.
public MasterlistHasUpdate ( ) : bool
return bool

PluginOrderManager() public method

A simple constructor that initializes the object with the given dependencies.
public PluginOrderManager ( IEnvironmentInfo p_eifEnvironmentInfo, GamebryoGameModeBase p_gmdGameMode, FileUtil p_futFileUtility ) : System
p_eifEnvironmentInfo IEnvironmentInfo The application's envrionment info.
p_gmdGameMode GamebryoGameModeBase The game mode for which plugins are being managed.
p_futFileUtility Nexus.Client.Util.FileUtil The file utility class.
return System

SetActivePlugins() public method

Sets the list of active plugins.
public SetActivePlugins ( string p_strActivePlugins ) : void
p_strActivePlugins string The list of plugins to set as active.
return void

SetLoadOrder() public method

Sets the load order of the plugins.
public SetLoadOrder ( string p_strPlugins ) : void
p_strPlugins string The list of plugins in the desired order.
return void

SetPluginActive() public method

Sets the active status of the specified plugin.
public SetPluginActive ( string p_strPlugin, bool p_booActive ) : void
p_strPlugin string The plugin whose active status is to be set.
p_booActive bool Whether the specified plugin should be made active or inactive.
return void

SetPluginLoadOrder() public method

Sets the load order of the specified plugin.
Sets the load order of the specified plugin, removing it from its current position if it has one. The first position in the load order is 0. If the index specified is greater than the number of plugins in the load order, the plugin will be inserted at the end of the load order.
public SetPluginLoadOrder ( string p_strPlugin, Int32 p_intIndex ) : void
p_strPlugin string The plugin whose load order is to be set.
p_intIndex System.Int32 The load index at which to place the specified plugin.
return void

SortMods() public method

Sorts the user's mods
public SortMods ( bool p_booTrialOnly ) : string[]
p_booTrialOnly bool Whether the sort should actually be performed, or just previewed.
return string[]

StripPluginDirectory() protected method

Removes the plugin directory from the given plugin path.
BAPI expects plugin paths to be relative to the plugins directory. This adjusts the plugin path for that purpose.
protected StripPluginDirectory ( string p_strPlugin ) : string
p_strPlugin string The plugin path to adjust.
return string

StripPluginDirectory() protected method

Removes the plugin directory from the given plugin paths.
BAPI expects plugin paths to be relative to the plugins directory. This adjusts the plugin paths for that purpose.
protected StripPluginDirectory ( string p_strPlugins ) : string[]
p_strPlugins string The array of plugin paths to adjust.
return string[]

UpdateMasterlist() public method

Updates the masterlist at the given path.
public UpdateMasterlist ( ) : void
return void