From 31bc5ec6f9d4b21dfa1b09f8764f87860cffc14b Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Sun, 18 Feb 2024 13:03:56 +0100 Subject: [PATCH] Make settings change invoke on Temporary Mods. --- Penumbra.Api | 2 +- Penumbra/Api/TempModManager.cs | 3 +++ Penumbra/Collections/Cache/CollectionCacheManager.cs | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Penumbra.Api b/Penumbra.Api index a28219ac..2b6bcf33 160000 --- a/Penumbra.Api +++ b/Penumbra.Api @@ -1 +1 @@ -Subproject commit a28219ac57b53c3be6ca8c252ceb9f76ae0b6c21 +Subproject commit 2b6bcf338794b34bcba2730c70dcbb73ce97311b diff --git a/Penumbra/Api/TempModManager.cs b/Penumbra/Api/TempModManager.cs index efbfd7f9..c7840b75 100644 --- a/Penumbra/Api/TempModManager.cs +++ b/Penumbra/Api/TempModManager.cs @@ -1,3 +1,4 @@ +using Penumbra.Api.Enums; using Penumbra.Collections; using Penumbra.Meta.Manipulations; using Penumbra.Mods; @@ -84,11 +85,13 @@ public class TempModManager : IDisposable { Penumbra.Log.Verbose($"Removing temporary Mod {mod.Name} from {collection.AnonymizedName}."); collection.Remove(mod); + _communicator.ModSettingChanged.Invoke(collection, ModSettingChange.TemporaryMod, null, 0, 0, false); } else { Penumbra.Log.Verbose($"Adding {(created ? "new " : string.Empty)}temporary Mod {mod.Name} to {collection.AnonymizedName}."); collection.Apply(mod, created); + _communicator.ModSettingChanged.Invoke(collection, ModSettingChange.TemporaryMod, null, 1, 0, false); } } else diff --git a/Penumbra/Collections/Cache/CollectionCacheManager.cs b/Penumbra/Collections/Cache/CollectionCacheManager.cs index 7d4a5722..4e524ddf 100644 --- a/Penumbra/Collections/Cache/CollectionCacheManager.cs +++ b/Penumbra/Collections/Cache/CollectionCacheManager.cs @@ -322,6 +322,9 @@ public class CollectionCacheManager : IDisposable case ModSettingChange.MultiEnableState: FullRecalculation(collection); break; + case ModSettingChange.TemporaryMod: + // handled otherwise + break; } }