public void update() { messenger.refreshEvents(); final int filterSize = filters.size(); if (filterSize > 0) { for (int i = 0; i < filterSize; ++i) { filters.get(i).filter(messenger, optimisedEvents); } } else { final ArrayList<Event<?>> events = messenger.getEvents(); final int size = events.size(); if (size > 0) { optimisedEvents.addAll(events); } } final int handlerSize = handlers.size(); while (optimisedEvents.size() > 0) // Reduce chance of sending the same event twice. { final Event<?> event = optimisedEvents.get(0); optimisedEvents.remove(0); for (int j = 0; j < handlerSize; ++j) { handlers.get(j).processEvent(event); } } }
public boolean hasEvents() { return messenger.hasEvents(); }
public void clearEvents() { messenger.clearEvents(); optimisedEvents.clear(); }
public int size() { return messenger.size(); }
public void addEvent(final Event<?> _event) { messenger.addEvent(_event); }