robocode

## Class Event

- java.lang.Object
- - robocode.Event

All Implemented Interfaces:
  Serializable, Comparable<Event>

Direct Known Subclasses:
  BattleEndedEvent, BulletHitBulletEvent, BulletHitEvent, BulletMissedEvent, CustomEvent, DeathEvent, HitByBulletEvent, HitRobotEvent, HitWallEvent, KeyEvent, MessageEvent, MouseEvent, PaintEvent, RobotDeathEvent, RoundEndedEvent, ScannedRobotEvent, SkippedTurnEvent, StatusEvent, WinEvent

    public abstract class Event
    extends Object
    implements Comparable<Event>, Serializable

The superclass of all Robocode events.

Author:
  Mathew A. Nelson (original), Flemming N. Larsen (contributor)
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`Event()` Default constructor used by the game to create a new event.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `compareTo(Event event)` Compares this event to another event regarding precedence.
`int` `getPriority()` Returns the priority of this event.
`long` `getTime()` Returns the time when this event occurred.
`void` `setPriority(int newPriority)` Changes the priority of this event.
`void` `setTime(long newTime)` Changes the time when this event occurred.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Event

    public Event()

Default constructor used by the game to create a new event.

### Method Detail

#### compareTo

    public int compareTo(Event event)

Compares this event to another event regarding precedence. The event precedence is first and foremost determined by the event time, secondly the event priority, and lastly specific event information.

This method will first compare the time of each event. If the event time is the same for both events, then this method compared the priority of each event. If the event priorities are equals, then this method will compare the two event based on specific event information.

This method is called by the game in order to sort the event queue of a robot to make sure the events are listed in chronological order.

Specified by:
  `compareTo` in interface `Comparable<Event>`
Parameters:
  `event` - the event to compare to this event.
Returns:
  a negative value if this event has higher precedence, i.e. must be listed before the specified event. A positive value if this event has a lower precedence, i.e. must be listed after the specified event. 0 means that the precedence of the two events are equal.

#### getTime

    public long getTime()

Returns the time when this event occurred.

Note that the time is equal to the turn of a battle round.

Returns:
  the time when this event occurred.

#### setTime

    public void setTime(long newTime)

Changes the time when this event occurred.

Note that the time is equal to the turn of a battle round.

This method is intended for letting robot developers create their own event types. It is not possible to change the time of an event after it has been added to the event queue of the robot.

Parameters:
  `newTime` - the time this event occurred

#### getPriority

    public int getPriority()

Returns the priority of this event.

An event priority is a value from 0 - 99. The higher value, the higher priority.

The default priority is 80, but varies depending on the type of event.

Returns:
  the priority of this event.

#### setPriority

    public final void setPriority(int newPriority)

Changes the priority of this event. An event priority is a value from 0 - 99. The higher value, the higher priority.

The default priority is 80, but varies depending on the type of event.

This method is intended for letting robot developers create their own event types. It is not possible to change the priority of an event after it has been added to the event queue of the robot.

Parameters:
  `newPriority` - the new priority of this event
See Also:
  `AdvancedRobot.setEventPriority(String, int)`