using Newtonsoft.Json; using RhythmBase.Components; using RhythmBase.Components.Easing; namespace RhythmBase.Events { /// /// Represents an event that sets the speed in the rhythm base. /// public class SetSpeed : BaseEvent, IEaseEvent { /// /// Initializes a new instance of the class. /// public SetSpeed() { Type = EventType.SetSpeed; Rooms = RDRoom.Default(); Tab = Tabs.Actions; } /// /// Gets or sets the type of easing for the event. /// public EaseType Ease { get; set; } /// /// Gets or sets the speed for the event. /// [EaseProperty] public float Speed { get; set; } /// /// Gets or sets the duration of the event. /// public float Duration { get; set; } /// /// Gets the type of the event. /// public override EventType Type { get; } /// /// Gets or sets the rooms associated with the event. /// [JsonIgnore] public RDRoom Rooms { get; set; } /// /// Gets the tab associated with the event. /// public override Tabs Tab { get; } /// /// Returns a string that represents the current object. /// /// A string that represents the current object. public override string ToString() => base.ToString() + string.Format(" Speed:{0}", Speed); } }