Skip to content

Commit

Permalink
Added logging when event is executed
Browse files Browse the repository at this point in the history
  • Loading branch information
Zomis committed Sep 18, 2014
1 parent c88f3bb commit 8bb99a7
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,13 @@
import java.util.function.Consumer;
import java.util.function.Predicate;

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;

public class EventExecutor {

private static final Logger logger = LogManager.getLogger(EventExecutor.class);

protected final Map<Class<? extends IEvent>, Collection<EventHandler<?>>> bindings;

public EventExecutor() {
Expand All @@ -26,10 +31,12 @@ private <T extends IEvent> T executeEvent(T event, Predicate<EventHandler<?>> pr
}

public <T extends IEvent> T executePostEvent(T event) {
logger.debug("Execute pre event " + event);
return executeEvent(event, eh -> eh.isAfter());
}

public <T extends IEvent> T executePreEvent(T event) {
logger.debug("Execute post event " + event);
return executeEvent(event, eh -> !eh.isAfter());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
import net.zomis.cardshifter.ecs.base.ComponentRetriever;
import net.zomis.cardshifter.ecs.base.ECSGame;
import net.zomis.cardshifter.ecs.base.Entity;
import net.zomis.cardshifter.ecs.base.EntityRemoveEvent;
import net.zomis.cardshifter.ecs.cards.CardComponent;
import net.zomis.cardshifter.ecs.cards.ZoneChangeEvent;
import net.zomis.cardshifter.ecs.cards.ZoneComponent;
import net.zomis.cardshifter.ecs.components.PlayerComponent;
import net.zomis.cardshifter.ecs.phase.PhaseController;
Expand Down Expand Up @@ -53,10 +55,20 @@ public TCGGame(Server server, int id) {
super(server, id);
game = PhrancisGame.createGame();
game.getEvents().registerHandlerAfter(ResourceValueChange.class, this::broadcast);
game.getEvents().registerHandlerAfter(ZoneChangeEvent.class, this::zoneChange);
game.getEvents().registerHandlerAfter(EntityRemoveEvent.class, this::remove);
aiPerform.scheduleWithFixedDelay(this::aiPerform, 0, AI_DELAY_SECONDS, TimeUnit.SECONDS);
phases = ComponentRetriever.singleton(game, PhaseController.class);
}

private void zoneChange(ZoneChangeEvent event) {

}

private void remove(EntityRemoveEvent event) {

}

private void broadcast(ResourceValueChange event) {
if (getState() == GameState.NOT_STARTED) {
// let the most information be sent when actually starting the game
Expand Down

0 comments on commit 8bb99a7

Please sign in to comment.