[CMR] Implemented Malcolm, Keen-Eyed Navigator

This commit is contained in:
Evan Kranzler 2020-11-10 20:31:54 -05:00
parent ea46afbe62
commit 8b3064fc17
10 changed files with 213 additions and 8 deletions

View file

@ -0,0 +1,45 @@
package mage.game.events;
import java.util.HashSet;
import java.util.Set;
/**
* @author TheElk801
*/
public abstract class DamagedBatchEvent extends GameEvent {
private final Class<? extends DamagedEvent> damageClazz;
private final Set<DamagedEvent> events = new HashSet<>();
public DamagedBatchEvent(EventType type, Class<? extends DamagedEvent> damageClazz) {
super(EventType.DAMAGED_PLAYER_BATCH, null, null, null);
this.damageClazz = damageClazz;
}
public Set<DamagedEvent> getEvents() {
return events;
}
public void addEvent(DamagedEvent event) {
this.events.add(event);
}
public Class<? extends DamagedEvent> 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;
}
}