using Newtonsoft.Json; namespace RhythmBase.Events { /// /// Represents an event that says "Ready, Get Set, Go" with various voice sources and phrases. /// public class SayReadyGetSetGo : BaseEvent { /// /// Initializes a new instance of the class. /// public SayReadyGetSetGo() { Type = EventType.SayReadyGetSetGo; Tab = Tabs.Sounds; } /// /// Gets or sets the phrase to say. /// public Words PhraseToSay { get; set; } /// /// Gets or sets the voice source. /// public VoiceSources VoiceSource { get; set; } /// /// Gets or sets the tick value. /// public float Tick { get; set; } /// /// Gets or sets the volume. /// public uint Volume { get; set; } /// /// Gets the event type. /// public override EventType Type { get; } /// /// Gets the tab. /// public override Tabs Tab { get; } /// /// Gets a value indicating whether the phrase is splitable. /// [JsonIgnore] public bool Splitable { get { return PhraseToSay == Words.SayReaDyGetSetGoNew || PhraseToSay == Words.SayGetSetGo || PhraseToSay == Words.SayReaDyGetSetOne || PhraseToSay == Words.SayGetSetOne || PhraseToSay == Words.SayReadyGetSetGo; } } /// /// Returns a string that represents the current object. /// /// A string that represents the current object. public override string ToString() => base.ToString() + string.Format(" {0}: {1}", VoiceSource, PhraseToSay); /// /// Represents the phrases that can be said. /// public enum Words { /// /// Represents the phrase "Ready, Get Set, Go New". /// SayReaDyGetSetGoNew, /// /// Represents the phrase "Get Set, Go". /// SayGetSetGo, /// /// Represents the phrase "Ready, Get Set, One". /// SayReaDyGetSetOne, /// /// Represents the phrase "Get Set, One". /// SayGetSetOne, /// /// Represents the phrase "Rea". /// JustSayRea, /// /// Represents the phrase "Dy". /// JustSayDy, /// /// Represents the phrase "Get". /// JustSayGet, /// /// Represents the phrase "Set". /// JustSaySet, /// /// Represents the phrase "And". /// JustSayAnd, /// /// Represents the phrase "Go". /// JustSayGo, /// /// Represents the phrase "Stop". /// JustSayStop, /// /// Represents the phrase "And Stop". /// JustSayAndStop, /// /// Represents the count "1". /// Count1, /// /// Represents the count "2". /// Count2, /// /// Represents the count "3". /// Count3, /// /// Represents the count "4". /// Count4, /// /// Represents the count "5". /// Count5, /// /// Represents the count "6". /// Count6, /// /// Represents the count "7". /// Count7, /// /// Represents the count "8". /// Count8, /// /// Represents the count "9". /// Count9, /// /// Represents the count "10". /// Count10, /// /// Represents the phrase "Ready, Get Set, Go". /// SayReadyGetSetGo, /// /// Represents the phrase "Ready". /// JustSayReady } /// /// Represents the sources of the voice. /// public enum VoiceSources { /// /// Represents the voice source "Nurse". /// Nurse, /// /// Represents the voice source "Nurse Tired". /// NurseTired, /// /// Represents the voice source "Nurse Swing". /// NurseSwing, /// /// Represents the voice source "Nurse Swing Calm". /// NurseSwingCalm, /// /// Represents the voice source "Ian Excited". /// IanExcited, /// /// Represents the voice source "Ian Calm". /// IanCalm, /// /// Represents the voice source "Ian Slow". /// IanSlow, /// /// Represents the voice source "None Bottom". /// NoneBottom, /// /// Represents the voice source "None Top". /// NoneTop } } }