/** Returns a list containing all events currently in the robot's queue. */ public List<Event> getAllEvents() { List<Event> events = new ArrayList<Event>(); synchronized (eventQueue) { for (Event e : eventQueue) { events.add(e); } } return events; }
/** Returns a list containing all StatusEvents currently in the robot's queue. */ public List<StatusEvent> getStatusEvents() { List<StatusEvent> events = new ArrayList<StatusEvent>(); synchronized (eventQueue) { for (Event e : eventQueue) { if (e instanceof StatusEvent) { events.add((StatusEvent) e); } } } return events; }
/** Returns a list containing all MessageEvents currently in the robot's queue. */ public List<MessageEvent> getMessageEvents() { List<MessageEvent> events = new ArrayList<MessageEvent>(); synchronized (eventQueue) { for (Event e : eventQueue) { if (e instanceof MessageEvent) { events.add((MessageEvent) e); } } } return events; }
/** Returns a list containing all RobotDeathEvents currently in the robot's queue. */ public List<RobotDeathEvent> getRobotDeathEvents() { List<RobotDeathEvent> events = new ArrayList<RobotDeathEvent>(); synchronized (eventQueue) { for (Event e : eventQueue) { if (e instanceof RobotDeathEvent) { events.add((RobotDeathEvent) e); } } } return events; }
/** Returns a list containing all HitWallEvents currently in the robot's queue. */ public List<HitWallEvent> getHitWallEvents() { List<HitWallEvent> events = new ArrayList<HitWallEvent>(); synchronized (eventQueue) { for (Event e : eventQueue) { if (e instanceof HitWallEvent) { events.add((HitWallEvent) e); } } } return events; }
/** Returns a list containing all BulletMissedEvents currently in the robot's queue. */ public List<BulletMissedEvent> getBulletMissedEvents() { List<BulletMissedEvent> events = new ArrayList<BulletMissedEvent>(); synchronized (eventQueue) { for (Event e : eventQueue) { if (e instanceof BulletMissedEvent) { events.add((BulletMissedEvent) e); } } } return events; }
/** Resets this event manager by removing all events from the event queue. */ public synchronized void reset() { currentTopEventPriority = Integer.MIN_VALUE; clearAllEvents(true); customEvents.clear(); }
/** Removes all custom events from the event queue. */ public void resetCustomEvents() { customEvents.clear(); }
/** * Removes the custom event with the specified condition from the event queue. * * @param condition is the condition of the custom event to remove. */ public void removeCustomEvent(Condition condition) { customEvents.remove(condition); }
/** * Adds an custom event to the event queue based on a condition. * * @param condition is the condition that must be met in order to trigger the custom event. */ public void addCustomEvent(Condition condition) { customEvents.add(condition); }