mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 10:17:22 +01:00
Increment the collection change counter when character utility is ready.
This commit is contained in:
parent
9115cbaac1
commit
f984283231
2 changed files with 18 additions and 5 deletions
|
|
@ -51,15 +51,18 @@ public partial class ModCollection
|
|||
public Cache( ModCollection collection )
|
||||
{
|
||||
_collection = collection;
|
||||
MetaManipulations = new MetaManager( collection );
|
||||
MetaManipulations = new MetaManager( _collection );
|
||||
_collection.ModSettingChanged += OnModSettingChange;
|
||||
_collection.InheritanceChanged += OnInheritanceChange;
|
||||
if( !Penumbra.CharacterUtility.Ready )
|
||||
Penumbra.CharacterUtility.LoadingFinished += IncrementCounter;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_collection.ModSettingChanged -= OnModSettingChange;
|
||||
_collection.InheritanceChanged -= OnInheritanceChange;
|
||||
_collection.ModSettingChanged -= OnModSettingChange;
|
||||
_collection.InheritanceChanged -= OnInheritanceChange;
|
||||
Penumbra.CharacterUtility.LoadingFinished -= IncrementCounter;
|
||||
}
|
||||
|
||||
// Resolve a given game path according to this collection.
|
||||
|
|
@ -443,6 +446,14 @@ public partial class ModCollection
|
|||
private void AddMetaFiles()
|
||||
=> MetaManipulations.SetImcFiles();
|
||||
|
||||
// Increment the counter to ensure new files are loaded after applying meta changes.
|
||||
private void IncrementCounter()
|
||||
{
|
||||
++ChangeCounter;
|
||||
Penumbra.CharacterUtility.LoadingFinished -= IncrementCounter;
|
||||
}
|
||||
|
||||
|
||||
// Identify and record all manipulated objects for this entire collection.
|
||||
private void SetChangedItems()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ public partial class MetaManager : IDisposable, IEnumerable< KeyValuePair< MetaM
|
|||
public IReadOnlyCollection< MetaManipulation > Manipulations
|
||||
=> _manipulations.Keys;
|
||||
|
||||
|
||||
public IEnumerator< KeyValuePair< MetaManipulation, IMod > > GetEnumerator()
|
||||
=> _manipulations.GetEnumerator();
|
||||
|
||||
|
|
@ -35,7 +34,10 @@ public partial class MetaManager : IDisposable, IEnumerable< KeyValuePair< MetaM
|
|||
{
|
||||
_collection = collection;
|
||||
SetupImcDelegate();
|
||||
Penumbra.CharacterUtility.LoadingFinished += ApplyStoredManipulations;
|
||||
if( !Penumbra.CharacterUtility.Ready )
|
||||
{
|
||||
Penumbra.CharacterUtility.LoadingFinished += ApplyStoredManipulations;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetFiles()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue