using Glamourer.Designs;
using Glamourer.Designs.History;
using Glamourer.Gui;
using OtterGui.Classes;
namespace Glamourer.Events;
///
/// Triggered when a Design is edited in any way.
///
/// - Parameter is the type of the change
/// - Parameter is the changed Design.
/// - Parameter is any additional data depending on the type of change.
///
///
public sealed class DesignChanged()
: EventWrapper(nameof(DesignChanged))
{
public enum Type
{
/// A new design was created.
Created,
/// An existing design was deleted.
Deleted,
/// Invoked on full reload.
ReloadedAll,
/// An existing design was renamed.
Renamed,
/// An existing design had its description changed.
ChangedDescription,
/// An existing design had its associated color changed.
ChangedColor,
/// An existing design had a new tag added.
AddedTag,
/// An existing design had an existing tag removed.
RemovedTag,
/// An existing design had an existing tag renamed.
ChangedTag,
/// An existing design had a new associated mod added.
AddedMod,
/// An existing design had an existing associated mod removed.
RemovedMod,
/// An existing design had an existing associated mod updated.
UpdatedMod,
/// An existing design had a link to a different design added, removed or moved.
ChangedLink,
/// An existing design had a customization changed.
Customize,
/// An existing design had its entire customize array changed.
EntireCustomize,
/// An existing design had an equipment piece changed.
Equip,
/// An existing design had a bonus item changed.
BonusItem,
/// An existing design had its weapons changed.
Weapon,
/// An existing design had a stain changed.
Stains,
/// An existing design had a crest visibility changed.
Crest,
/// An existing design had a customize parameter changed.
Parameter,
/// An existing design had an advanced dye row added, changed, or deleted.
Material,
/// An existing design had an advanced dye rows Revert state changed.
MaterialRevert,
/// An existing design had changed whether it always forces a redraw or not.
ForceRedraw,
/// An existing design had changed whether it always resets advanced dyes or not.
ResetAdvancedDyes,
/// An existing design had changed whether it always resets all prior temporary settings or not.
ResetTemporarySettings,
/// An existing design changed whether a specific customization is applied.
ApplyCustomize,
/// An existing design changed whether a specific equipment piece is applied.
ApplyEquip,
/// An existing design changed whether a specific bonus item is applied.
ApplyBonusItem,
/// An existing design changed whether a specific stain is applied.
ApplyStain,
/// An existing design changed whether a specific crest visibility is applied.
ApplyCrest,
/// An existing design changed whether a specific customize parameter is applied.
ApplyParameter,
/// An existing design changed whether an advanced dye row is applied.
ApplyMaterial,
/// An existing design changed its write protection status.
WriteProtection,
/// An existing design changed its display status for the quick design bar.
QuickDesignBar,
/// An existing design changed one of the meta flags.
Other,
}
public enum Priority
{
///
DesignLinkManager = 1,
///
AutoDesignManager = 1,
///
DesignFileSystem = 0,
///
DesignFileSystemSelector = -1,
///
DesignCombo = -2,
///
EditorHistory = -1000,
}
}