update GameEventCardRegenerated

This commit is contained in:
Anthony Calosa
2022-03-13 19:37:04 +08:00
parent e4150746b7
commit ffafa3ebf1
4 changed files with 18 additions and 2 deletions

View File

@@ -25,7 +25,6 @@ import java.util.Map;
import com.google.common.base.Predicate; import com.google.common.base.Predicate;
import com.google.common.base.Predicates; import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import forge.card.CardStateName; import forge.card.CardStateName;
import forge.game.GameEntity; import forge.game.GameEntity;

View File

@@ -36,7 +36,7 @@ public class RegenerationEffect extends SpellAbilityEffect {
} }
// Play the Regen sound // Play the Regen sound
game.fireEvent(new GameEventCardRegenerated()); game.fireEvent(new GameEventCardRegenerated(c));
if (host.isImmutable()) { if (host.isImmutable()) {
c.subtractShield(host); c.subtractShield(host);

View File

@@ -1,7 +1,17 @@
package forge.game.event; package forge.game.event;
import forge.game.card.Card;
import java.util.Arrays;
import java.util.Collection;
public class GameEventCardRegenerated extends GameEvent { public class GameEventCardRegenerated extends GameEvent {
public final Collection<Card> cards;
public GameEventCardRegenerated(Card affected) {
cards = Arrays.asList(affected);
}
@Override @Override
public <T> T visit(IGameEventVisitor<T> visitor) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this); return visitor.visit(this);

View File

@@ -456,6 +456,13 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
return processCards(event.cards, cardsUpdate); return processCards(event.cards, cardsUpdate);
} }
@Override
public Void visit(final GameEventCardRegenerated event) {
refreshFieldUpdate = true;
processCards(event.cards, cardsRefreshDetails);
return processCards(event.cards, cardsUpdate);
}
@Override @Override
public Void visit(final GameEventShuffle event) { public Void visit(final GameEventShuffle event) {
if (GuiBase.getInterface().isLibgdxPort()) { if (GuiBase.getInterface().isLibgdxPort()) {