using Newtonsoft.Json; using RhythmBase.Components; using RhythmBase.Components.Easing; namespace RhythmBase.Events { /// /// Represents an event that fades a room. /// public class FadeRoom : BaseEvent, IEaseEvent { /// /// Initializes a new instance of the class. /// public FadeRoom() { } /// /// Gets or sets the easing type for the fade effect. /// public EaseType Ease { get; set; } /// /// Gets or sets the opacity level for the fade effect. /// [EaseProperty] public uint Opacity { get; set; } /// /// Gets or sets the duration of the fade effect. /// public float Duration { get; set; } /// /// Gets the type of the event. /// public override EventType Type { get; } = EventType.FadeRoom; /// /// Gets the tab associated with the event. /// public override Tabs Tab { get; } = Tabs.Rooms; /// /// Gets the room associated with the event. /// [JsonIgnore] public RDRoom Room => new RDSingleRoom((byte)Y); } }