Merge fix

This commit is contained in:
Oleg Agafonov 2023-09-13 03:49:59 +04:00
parent 316e0dc1f3
commit ba3b0e4cb7
2 changed files with 28 additions and 46 deletions

View file

@ -1,10 +1,8 @@
package mage.game.events;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
/**
* @author TheElk801
@ -31,46 +29,16 @@ public abstract class DamagedBatchEvent extends GameEvent {
.sum();
}
public Set<UUID> getTargetIds() {
return events
.stream()
.map(GameEvent::getTargetId)
.filter(Objects::nonNull)
.collect(Collectors.toSet());
}
@Override
@Deprecated // events can store a diff value, so search it from events list instead
public UUID getTargetId() {
// TODO: replace it by getTargetIds or seearch in getEvents, enable exception
//throw new IllegalStateException("Wrong code usage. Must search batch value from a list");
return events
.stream()
.map(GameEvent::getTargetId)
.filter(Objects::nonNull)
.findFirst()
.orElse(null);
}
public Set<UUID> getSourceIds() {
return events
.stream()
.map(GameEvent::getSourceId)
.filter(Objects::nonNull)
.collect(Collectors.toSet());
throw new IllegalStateException("Wrong code usage. Must search value from a getEvents list.");
}
@Override
@Deprecated // events can store a diff value, so search it from events list instead
public UUID getSourceId() {
// TODO: replace it by getSourceIds or seearch in getEvents, enable exception
//throw new IllegalStateException("Wrong code usage. Must search batch value from a list");
return events
.stream()
.map(GameEvent::getSourceId)
.filter(Objects::nonNull)
.findFirst()
.orElse(null);
throw new IllegalStateException("Wrong code usage. Must search value from a getEvents list.");
}
public void addEvent(DamagedEvent event) {
@ -90,7 +58,7 @@ public abstract class DamagedBatchEvent extends GameEvent {
event = new DamagedBatchForPermanentsEvent();
event.addEvent(damagedEvent);
} else {
event = null;
throw new IllegalArgumentException("Wrong code usage. Unknown damage event for a new batch: " + damagedEvent.getClass().getName());
}
return event;
}