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);
}