remove SuppressWarnings annotations
parent
a8d394b535
commit
1b26eb7eff
|
@ -15,6 +15,12 @@ import magic.model.event.MagicTiming;
|
|||
import magic.model.mstatic.MagicCDA;
|
||||
import magic.model.mstatic.MagicStatic;
|
||||
import magic.model.trigger.MagicTrigger;
|
||||
import magic.model.trigger.MagicWhenSpellIsCastTrigger;
|
||||
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
|
||||
import magic.model.trigger.MagicWhenPutIntoGraveyardTrigger;
|
||||
import magic.model.trigger.MagicWhenDrawnTrigger;
|
||||
import magic.model.trigger.MagicGraveyardTriggerData ;
|
||||
import magic.model.stack.MagicItemOnStack;
|
||||
import magic.ui.theme.Theme;
|
||||
import magic.ui.theme.ThemeFactory;
|
||||
|
||||
|
@ -87,10 +93,10 @@ public class MagicCardDefinition {
|
|||
private final Collection<MagicCDA> CDAs = new ArrayList<MagicCDA>();
|
||||
private final Collection<MagicTrigger<?>> triggers = new ArrayList<MagicTrigger<?>>();
|
||||
private final Collection<MagicStatic> statics=new ArrayList<MagicStatic>();
|
||||
private final Collection<MagicTrigger<?>> comeIntoPlayTriggers = new ArrayList<MagicTrigger<?>>();
|
||||
private final Collection<MagicTrigger<?>> spellIsCastTriggers = new ArrayList<MagicTrigger<?>>();
|
||||
private final Collection<MagicTrigger<?>> drawnTriggers = new ArrayList<MagicTrigger<?>>();
|
||||
private final Collection<MagicTrigger<?>> putIntoGraveyardTriggers = new ArrayList<MagicTrigger<?>>();
|
||||
private final Collection<MagicWhenComesIntoPlayTrigger> comeIntoPlayTriggers = new ArrayList<MagicWhenComesIntoPlayTrigger>();
|
||||
private final Collection<MagicWhenSpellIsCastTrigger> spellIsCastTriggers = new ArrayList<MagicWhenSpellIsCastTrigger>();
|
||||
private final Collection<MagicWhenDrawnTrigger> drawnTriggers = new ArrayList<MagicWhenDrawnTrigger>();
|
||||
private final Collection<MagicWhenPutIntoGraveyardTrigger> putIntoGraveyardTriggers = new ArrayList<MagicWhenPutIntoGraveyardTrigger>();
|
||||
private final Collection<MagicActivation> activations=new ArrayList<MagicActivation>();
|
||||
private final Collection<MagicManaActivation> manaActivations=new ArrayList<MagicManaActivation>();
|
||||
private boolean excludeManaOrCombat;
|
||||
|
@ -621,25 +627,25 @@ public class MagicCardDefinition {
|
|||
CDAs.add(cda);
|
||||
numCDAs++;
|
||||
}
|
||||
|
||||
public void addTrigger(final MagicWhenSpellIsCastTrigger trigger) {
|
||||
spellIsCastTriggers.add(trigger);
|
||||
}
|
||||
|
||||
public void addTrigger(final MagicWhenComesIntoPlayTrigger trigger) {
|
||||
comeIntoPlayTriggers.add(trigger);
|
||||
}
|
||||
|
||||
public void addTrigger(final MagicWhenPutIntoGraveyardTrigger trigger) {
|
||||
putIntoGraveyardTriggers.add(trigger);
|
||||
}
|
||||
|
||||
public void addTrigger(final MagicWhenDrawnTrigger trigger) {
|
||||
drawnTriggers.add(trigger);
|
||||
}
|
||||
|
||||
public void addTrigger(final MagicTrigger<?> trigger) {
|
||||
switch (trigger.getType()) {
|
||||
case WhenSpellIsCast:
|
||||
spellIsCastTriggers.add(trigger);
|
||||
break;
|
||||
case WhenComesIntoPlay:
|
||||
comeIntoPlayTriggers.add(trigger);
|
||||
break;
|
||||
case WhenPutIntoGraveyard:
|
||||
putIntoGraveyardTriggers.add(trigger);
|
||||
break;
|
||||
case WhenDrawn:
|
||||
drawnTriggers.add(trigger);
|
||||
break;
|
||||
default:
|
||||
triggers.add(trigger);
|
||||
break;
|
||||
}
|
||||
triggers.add(trigger);
|
||||
numTriggers++;
|
||||
}
|
||||
|
||||
|
@ -656,19 +662,19 @@ public class MagicCardDefinition {
|
|||
return statics;
|
||||
}
|
||||
|
||||
public Collection<MagicTrigger<?>> getSpellIsCastTriggers() {
|
||||
public Collection<MagicWhenSpellIsCastTrigger> getSpellIsCastTriggers() {
|
||||
return spellIsCastTriggers;
|
||||
}
|
||||
|
||||
public Collection<MagicTrigger<?>> getComeIntoPlayTriggers() {
|
||||
public Collection<MagicWhenComesIntoPlayTrigger> getComeIntoPlayTriggers() {
|
||||
return comeIntoPlayTriggers;
|
||||
}
|
||||
|
||||
public Collection<MagicTrigger<?>> getPutIntoGraveyardTriggers() {
|
||||
public Collection<MagicWhenPutIntoGraveyardTrigger> getPutIntoGraveyardTriggers() {
|
||||
return putIntoGraveyardTriggers;
|
||||
}
|
||||
|
||||
public Collection<MagicTrigger<?>> getDrawnTriggers() {
|
||||
public Collection<MagicWhenDrawnTrigger> getDrawnTriggers() {
|
||||
return drawnTriggers;
|
||||
}
|
||||
|
||||
|
|
|
@ -878,10 +878,9 @@ public class MagicGame {
|
|||
return mappedData;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<MagicTarget> filterTargets(
|
||||
final MagicPlayer player,
|
||||
final MagicTargetFilter targetFilter,
|
||||
final MagicTargetFilter<MagicTarget> targetFilter,
|
||||
final MagicTargetHint targetHint) {
|
||||
|
||||
final List<MagicTarget> targets=new ArrayList<MagicTarget>();
|
||||
|
@ -1062,7 +1061,7 @@ public class MagicGame {
|
|||
return options;
|
||||
}
|
||||
|
||||
private boolean filterTarget(final MagicPlayer player,final MagicTargetFilter targetFilter,final MagicTarget target) {
|
||||
private boolean filterTarget(final MagicPlayer player,final MagicTargetFilter<MagicTarget> targetFilter,final MagicTarget target) {
|
||||
if (target==null ||
|
||||
target==MagicTargetNone.getInstance() ||
|
||||
!targetFilter.accept(this,player,target)) {
|
||||
|
@ -1225,20 +1224,18 @@ public class MagicGame {
|
|||
return triggers.remove(permanent);
|
||||
}
|
||||
|
||||
public void executeTrigger(
|
||||
final MagicTrigger trigger,
|
||||
public <T> void executeTrigger(
|
||||
final MagicTrigger<T> trigger,
|
||||
final MagicPermanent permanent,
|
||||
final MagicSource source,
|
||||
final Object data) {
|
||||
final T data) {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
final boolean accept = trigger.accept(permanent, data);
|
||||
if (!accept) {
|
||||
if (!trigger.accept(permanent, data)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
final MagicEvent event=trigger.executeTrigger(this,permanent,data);
|
||||
|
||||
if (!event.isValid()) {
|
||||
return;
|
||||
}
|
||||
|
@ -1254,7 +1251,7 @@ public class MagicGame {
|
|||
}
|
||||
}
|
||||
|
||||
public void executeTrigger(final MagicTriggerType type,final Object data) {
|
||||
public <T> void executeTrigger(final MagicTriggerType type,final T data) {
|
||||
final SortedSet<MagicPermanentTrigger> typeTriggers=triggers.get(type);
|
||||
if (typeTriggers.isEmpty()) {
|
||||
return;
|
||||
|
@ -1262,8 +1259,9 @@ public class MagicGame {
|
|||
|
||||
final Collection<MagicPermanentTrigger> copiedTriggers=new ArrayList<MagicPermanentTrigger>(typeTriggers);
|
||||
for (final MagicPermanentTrigger permanentTrigger : copiedTriggers) {
|
||||
final MagicPermanent permanent=permanentTrigger.getPermanent();
|
||||
executeTrigger(permanentTrigger.getTrigger(),permanent,permanent,data);
|
||||
final MagicPermanent permanent = permanentTrigger.getPermanent();
|
||||
final MagicTrigger<T> trigger = (MagicTrigger<T>)permanentTrigger.getTrigger();
|
||||
executeTrigger(trigger,permanent,permanent,data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ public class MagicDrawAction extends MagicAction {
|
|||
player.incDrawnCards();
|
||||
drawnCards.add(card);
|
||||
score+=ArtificialScoringSystem.getCardScore(card);
|
||||
for (final MagicTrigger<?> trigger : card.getCardDefinition().getDrawnTriggers()) {
|
||||
for (final MagicTrigger<MagicCard> trigger : card.getCardDefinition().getDrawnTriggers()) {
|
||||
game.executeTrigger(trigger,MagicPermanent.NONE,card,card);
|
||||
}
|
||||
game.executeTrigger(MagicTriggerType.WhenOtherDrawn,card);
|
||||
|
|
|
@ -77,7 +77,7 @@ public class MagicMoveCardAction extends MagicAction {
|
|||
// Execute triggers.
|
||||
if (toLocation==MagicLocationType.Graveyard) {
|
||||
final MagicSource triggerSource=permanent.isValid()?permanent:card;
|
||||
for (final MagicTrigger<?> trigger : card.getCardDefinition().getPutIntoGraveyardTriggers()) {
|
||||
for (final MagicTrigger<MagicGraveyardTriggerData> trigger : card.getCardDefinition().getPutIntoGraveyardTriggers()) {
|
||||
game.executeTrigger(trigger,permanent,triggerSource,new MagicGraveyardTriggerData(card,fromLocation));
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ public abstract class MagicPutIntoPlayAction extends MagicAction {
|
|||
final MagicPlayer controller = permanent.getController();
|
||||
|
||||
//execute come into play triggers
|
||||
for (final MagicTrigger<?> trigger : permanent.getCardDefinition().getComeIntoPlayTriggers()) {
|
||||
for (final MagicTrigger<MagicPlayer> trigger : permanent.getCardDefinition().getComeIntoPlayTriggers()) {
|
||||
game.executeTrigger(trigger,permanent,permanent,controller);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ import magic.model.stack.MagicCardOnStack;
|
|||
import magic.model.stack.MagicItemOnStack;
|
||||
import magic.model.trigger.MagicTrigger;
|
||||
import magic.model.trigger.MagicTriggerType;
|
||||
import magic.model.trigger.MagicWhenSpellIsCastTrigger;
|
||||
|
||||
public class MagicPutItemOnStackAction extends MagicAction {
|
||||
|
||||
|
@ -27,8 +28,13 @@ public class MagicPutItemOnStackAction extends MagicAction {
|
|||
if (itemOnStack.isSpell()) {
|
||||
if (!itemOnStack.hasChoices()) {
|
||||
// execute spell is cast triggers
|
||||
for (final MagicTrigger<?> trigger : itemOnStack.getSource().getCardDefinition().getSpellIsCastTriggers()) {
|
||||
game.executeTrigger(trigger,MagicPermanent.NONE,itemOnStack.getSource(), itemOnStack);
|
||||
for (final MagicWhenSpellIsCastTrigger trigger : itemOnStack.getSource().getCardDefinition().getSpellIsCastTriggers()) {
|
||||
game.executeTrigger(
|
||||
trigger,
|
||||
MagicPermanent.NONE,
|
||||
itemOnStack.getSource(),
|
||||
(MagicCardOnStack)itemOnStack
|
||||
);
|
||||
}
|
||||
|
||||
// execute other spell is cast triggers
|
||||
|
|
|
@ -9,6 +9,7 @@ import magic.model.target.MagicTargetFilter;
|
|||
import magic.model.target.MagicTargetHint;
|
||||
import magic.model.target.MagicTargetNone;
|
||||
import magic.model.target.MagicTargetType;
|
||||
import magic.model.target.MagicTarget;
|
||||
import magic.ui.GameController;
|
||||
|
||||
import java.util.Collection;
|
||||
|
@ -369,7 +370,7 @@ public class MagicTargetChoice extends MagicChoice {
|
|||
"an unpaired Soulbond creature");
|
||||
|
||||
private final String targetDescription;
|
||||
private final MagicTargetFilter targetFilter;
|
||||
private final MagicTargetFilter<MagicTarget> targetFilter;
|
||||
private final boolean targeted;
|
||||
private final MagicTargetHint targetHint;
|
||||
|
||||
|
@ -399,7 +400,7 @@ public class MagicTargetChoice extends MagicChoice {
|
|||
return targetDescription;
|
||||
}
|
||||
|
||||
public final MagicTargetFilter getTargetFilter() {
|
||||
public final MagicTargetFilter<MagicTarget> getTargetFilter() {
|
||||
return targetFilter;
|
||||
}
|
||||
|
||||
|
|
|
@ -56,9 +56,7 @@ public class MagicPriorityEvent extends MagicEvent {
|
|||
// reset activation/priority of opponent
|
||||
player.getOpponent().getActivationPriority().clear();
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
final MagicEvent[] events = activation.getCostEvent(source);
|
||||
for (final MagicEvent costEvent : events) {
|
||||
for (final MagicEvent costEvent : activation.getCostEvent(source)) {
|
||||
game.addEvent(costEvent);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import magic.model.choice.MagicTargetChoice;
|
|||
import magic.model.stack.MagicCardOnStack;
|
||||
import magic.model.stack.MagicItemOnStack;
|
||||
import magic.model.trigger.MagicTrigger;
|
||||
import magic.model.trigger.MagicWhenSpellIsCastTrigger;
|
||||
import magic.model.trigger.MagicTriggerType;
|
||||
|
||||
public class MagicStackGetChoicesEvent extends MagicEvent {
|
||||
|
@ -41,8 +42,13 @@ public class MagicStackGetChoicesEvent extends MagicEvent {
|
|||
|
||||
if (itemOnStack.isSpell()) {
|
||||
// execute spell is cast triggers
|
||||
for (final MagicTrigger<?> trigger : itemOnStack.getSource().getCardDefinition().getSpellIsCastTriggers()) {
|
||||
game.executeTrigger(trigger,MagicPermanent.NONE,itemOnStack.getSource(), itemOnStack);
|
||||
for (final MagicWhenSpellIsCastTrigger trigger : itemOnStack.getSource().getCardDefinition().getSpellIsCastTriggers()) {
|
||||
game.executeTrigger(
|
||||
trigger,
|
||||
MagicPermanent.NONE,
|
||||
itemOnStack.getSource(),
|
||||
(MagicCardOnStack)itemOnStack
|
||||
);
|
||||
}
|
||||
|
||||
// execute other spell is cast triggers
|
||||
|
|
Loading…
Reference in New Issue