package org.drooms.impl.logic.commands; import org.drooms.api.GameProgressListener; import org.drooms.api.Player; import org.drooms.impl.logic.PlayerLogic; import org.drooms.impl.logic.PlayerRelated; import org.drooms.impl.logic.events.PlayerDeathEvent; public class DeactivatePlayerCommand implements Command, PlayerRelated { private final Player toDie; private final PlayerDeathEvent event; public DeactivatePlayerCommand(final Player p) { this.toDie = p; this.event = new PlayerDeathEvent(p); } protected PlayerDeathEvent getEvent() { return this.event; } @Override public Player getPlayer() { return this.toDie; } @Override public void perform(final PlayerLogic logic) { logic.notifyOfDeath(this.getEvent()); } @Override public void report(final GameProgressListener report) { report.playerDeactivated(this.toDie); } @Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append("DeactivatePlayerCommand [toDie=").append(this.toDie) .append("]"); return builder.toString(); } }