namespace Glamourer.Api.Enums; /// Application flags that can be used in different situations. [Flags] public enum ApplyFlag : ulong { /// Apply the selected manipulation only once, without forcing the state into automation. Once = 0x01, /// Apply the selected manipulation on the equipment (might be more or less supported). Equipment = 0x02, /// Apply the selected manipulation on the customizations (might be more or less supported). Customization = 0x04, /// Lock the state with the given key after applying the selected manipulation Lock = 0x08, } /// Extensions for apply flags. public static class ApplyFlagEx { /// The default application flags for design-based manipulations. public const ApplyFlag DesignDefault = ApplyFlag.Once | ApplyFlag.Equipment | ApplyFlag.Customization; /// The default application flags for state-based manipulations. public const ApplyFlag StateDefault = ApplyFlag.Equipment | ApplyFlag.Customization | ApplyFlag.Lock; /// The default application flags for reverse manipulations. public const ApplyFlag RevertDefault = ApplyFlag.Equipment | ApplyFlag.Customization; }