forked from External/mage
Add tests for Camellia, refactor SacrificedPermanentBatchEvent. (#12769)
Added SacrificedPermanentEvent, to be used in SacrificedPermanentBatchEvent to prevent adding incorrect GameEvents.
This commit is contained in:
parent
e290bc8c1a
commit
6a19ec48df
5 changed files with 113 additions and 9 deletions
|
|
@ -930,21 +930,21 @@ public class GameState implements Serializable, Copyable<GameState> {
|
|||
}
|
||||
}
|
||||
|
||||
public void addSimultaneousSacrificedPermanentToBatch(GameEvent sacrificedEvent, Game game) {
|
||||
public void addSimultaneousSacrificedPermanentToBatch(SacrificedPermanentEvent sacrificedPermanentEvent, Game game) {
|
||||
// Combine multiple sacrificed permanent events in the single event (batch)
|
||||
|
||||
// existing batch
|
||||
boolean isBatchUsed = false;
|
||||
for (GameEvent event : simultaneousEvents) {
|
||||
if (event instanceof SacrificedPermanentBatchEvent) {
|
||||
((SacrificedPermanentBatchEvent) event).addEvent(sacrificedEvent);
|
||||
((SacrificedPermanentBatchEvent) event).addEvent(sacrificedPermanentEvent);
|
||||
isBatchUsed = true;
|
||||
}
|
||||
}
|
||||
|
||||
// new batch
|
||||
if (!isBatchUsed) {
|
||||
addSimultaneousEvent(new SacrificedPermanentBatchEvent(sacrificedEvent), game);
|
||||
addSimultaneousEvent(new SacrificedPermanentBatchEvent(sacrificedPermanentEvent), game);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue