package mage.game.events; import java.util.HashSet; import java.util.Set; /** * @author TheElk801 */ public abstract class DamagedBatchEvent extends GameEvent { private final Class damageClazz; private final Set events = new HashSet<>(); public DamagedBatchEvent(EventType type, Class damageClazz) { super(type, null, null, null); this.damageClazz = damageClazz; } public Set getEvents() { return events; } public void addEvent(DamagedEvent event) { this.events.add(event); } public Class getDamageClazz() { return damageClazz; } public static DamagedBatchEvent makeEvent(DamagedEvent damagedEvent) { DamagedBatchEvent event = null; if (damagedEvent instanceof DamagedPlayerEvent) { event = new DamagedPlayerBatchEvent(); event.addEvent(damagedEvent); } else if (damagedEvent instanceof DamagedCreatureEvent) { event = new DamagedCreatureBatchEvent(); event.addEvent(damagedEvent); } else if (damagedEvent instanceof DamagedPlaneswalkerEvent) { event = new DamagedPlaneswalkerBatchEvent(); event.addEvent(damagedEvent); } return event; } }