using RhythmBase.Components;
namespace RhythmBase.Events
{
///
/// Represents a text explosion event in a room.
///
public class TextExplosion : BaseEvent, IRoomEvent
{
///
/// Initializes a new instance of the class.
///
public TextExplosion()
{
Rooms = new RDRoom(false, new byte[1]);
Color = new PaletteColor(false);
Type = EventType.TextExplosion;
Tab = Tabs.Actions;
}
///
/// Gets or sets the rooms associated with the text explosion.
///
public RDRoom Rooms { get; set; }
///
/// Gets or sets the color of the text explosion.
///
public PaletteColor Color { get; set; }
///
/// Gets or sets the text to be displayed in the explosion.
///
public string Text { get; set; } = "";
///
/// Gets or sets the direction of the text explosion.
///
public Directions Direction { get; set; }
///
/// Gets or sets the mode of the text explosion.
///
public Modes Mode { get; set; }
///
/// Gets the type of the event.
///
public override EventType Type { get; }
///
/// 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(" {0}", Text);
///
/// Specifies the direction of the text explosion.
///
public enum Directions
{
///
/// The text explodes to the left.
///
Left,
///
/// The text explodes to the right.
///
Right
}
///
/// Specifies the mode of the text explosion.
///
public enum Modes
{
///
/// The text explosion uses one color.
///
OneColor,
///
/// The text explosion uses random colors.
///
Random
}
}
}