package scriptbuilder.structures.events; import scriptbuilder.structures.ScriptEvent; import scriptbuilder.structures.ScriptEvent.ScriptEventType; import scriptbuilder.structures.TimeSlice; /** * 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(); /** * Remove this event from the timeslice it's in. */ void removeThis(); /** * Give this event access to the timeslice it's in. * * @param ts the timeslice which contains this event */ void assignTimeSlice(TimeSlice ts); /** * Get the event type. * * @return the enum script event type of this event */ ScriptEventType getScriptEventType(); }