package scriptbuilder.structures.events;

import scriptbuilder.structures.ScriptEvent;
import scriptbuilder.structures.ScriptEvent.ScriptEventType;

/**
 * Generic interface for ScriptEvent objects. Script Events have an event type,
 * a length, and several data values unique to the event.
 *
 * @author Bryan McGuffin
 */
public interface I_ScriptEvent extends Comparable
{

    /**
     * Get the time length of this event.
     *
     * @return number of seconds the event takes place; default is 1
     */
    int getLength();

    /**
     * Get the event type.
     *
     * @return the enum script event type of this event
     */
    ScriptEventType getScriptEventType();
}
