mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 18:27:24 +01:00
Change when the Deletion event is fired so that all mods are still there at invoke.
This commit is contained in:
parent
3d7faad2ae
commit
81435b4ff2
2 changed files with 5 additions and 5 deletions
|
|
@ -68,7 +68,7 @@ public partial class ModCollection
|
||||||
_modManager.ModDiscoveryStarted += OnModDiscoveryStarted;
|
_modManager.ModDiscoveryStarted += OnModDiscoveryStarted;
|
||||||
_modManager.ModDiscoveryFinished += OnModDiscoveryFinished;
|
_modManager.ModDiscoveryFinished += OnModDiscoveryFinished;
|
||||||
_modManager.ModOptionChanged += OnModOptionsChanged;
|
_modManager.ModOptionChanged += OnModOptionsChanged;
|
||||||
_modManager.ModPathChanged += OnModPathChanged;
|
_modManager.ModPathChanged += OnModPathChange;
|
||||||
CollectionChanged += SaveOnChange;
|
CollectionChanged += SaveOnChange;
|
||||||
ReadCollections();
|
ReadCollections();
|
||||||
LoadCollections();
|
LoadCollections();
|
||||||
|
|
@ -79,7 +79,7 @@ public partial class ModCollection
|
||||||
_modManager.ModDiscoveryStarted -= OnModDiscoveryStarted;
|
_modManager.ModDiscoveryStarted -= OnModDiscoveryStarted;
|
||||||
_modManager.ModDiscoveryFinished -= OnModDiscoveryFinished;
|
_modManager.ModDiscoveryFinished -= OnModDiscoveryFinished;
|
||||||
_modManager.ModOptionChanged -= OnModOptionsChanged;
|
_modManager.ModOptionChanged -= OnModOptionsChanged;
|
||||||
_modManager.ModPathChanged -= OnModPathChanged;
|
_modManager.ModPathChanged -= OnModPathChange;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if the name is not empty, it is not the name of the empty collection
|
// Returns true if the name is not empty, it is not the name of the empty collection
|
||||||
|
|
@ -210,7 +210,7 @@ public partial class ModCollection
|
||||||
|
|
||||||
|
|
||||||
// A changed mod path forces changes for all collections, active and inactive.
|
// A changed mod path forces changes for all collections, active and inactive.
|
||||||
private void OnModPathChanged( ModPathChangeType type, Mod mod, DirectoryInfo? oldDirectory,
|
private void OnModPathChange( ModPathChangeType type, Mod mod, DirectoryInfo? oldDirectory,
|
||||||
DirectoryInfo? newDirectory )
|
DirectoryInfo? newDirectory )
|
||||||
{
|
{
|
||||||
switch( type )
|
switch( type )
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ public partial class Mod
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete a mod by its index.
|
// Delete a mod by its index. The event is invoked before the mod is removed from the list.
|
||||||
// Deletes from filesystem as well as from internal data.
|
// Deletes from filesystem as well as from internal data.
|
||||||
// Updates indices of later mods.
|
// Updates indices of later mods.
|
||||||
public void DeleteMod( int idx )
|
public void DeleteMod( int idx )
|
||||||
|
|
@ -118,13 +118,13 @@ public partial class Mod
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ModPathChanged.Invoke( ModPathChangeType.Deleted, mod, mod.ModPath, null );
|
||||||
_mods.RemoveAt( idx );
|
_mods.RemoveAt( idx );
|
||||||
foreach( var remainingMod in _mods.Skip( idx ) )
|
foreach( var remainingMod in _mods.Skip( idx ) )
|
||||||
{
|
{
|
||||||
--remainingMod.Index;
|
--remainingMod.Index;
|
||||||
}
|
}
|
||||||
|
|
||||||
ModPathChanged.Invoke( ModPathChangeType.Deleted, mod, mod.ModPath, null );
|
|
||||||
PluginLog.Debug( "Deleted mod {Name:l}.", mod.Name );
|
PluginLog.Debug( "Deleted mod {Name:l}.", mod.Name );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue