using Luna; using Penumbra.Mods; using Penumbra.Mods.Manager; namespace Penumbra.Communication; /// Triggered whenever mod meta data or local data is changed. public sealed class ModDataChanged(Logger log) : EventBase(nameof(ModDataChanged), log) { public enum Priority { /// ModFileSystemSelector = -10, /// ModCacheManager = 0, /// ModFileSystem = 0, /// ModPanelHeader = 0, } /// The arguments for a ModDataChanged event. /// The type of data change for the mod, which can be multiple flags. /// The changed mod. /// The old name of the mod in case of a name change, and null otherwise. public readonly record struct Arguments(ModDataChangeType Type, Mod Mod, string? OldName); }