package fr.lyrgard.hexScape.gui.desktop.action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import fr.lyrgard.hexScape.bus.CoreMessageBus;
import fr.lyrgard.hexScape.message.PlaceMarkerMessage;
import fr.lyrgard.hexScape.model.card.CardInstance;
import fr.lyrgard.hexScape.model.marker.MarkerDefinition;
public class AddStackableMarkerToCardAction extends AbstractAction {
private static final long serialVersionUID = 7209605070483212248L;
private MarkerDefinition markerType;
private CardInstance card;
private int number;
public AddStackableMarkerToCardAction(MarkerDefinition markerType, CardInstance card, int number) {
super();
String name = null;
if (number < 0 ) {
name = Integer.toString(number);
} else {
name = "+" + number;
}
putValue(Action.NAME, name);
this.markerType = markerType;
this.card = card;
this.number = number;
}
public void actionPerformed(ActionEvent e) {
PlaceMarkerMessage message = new PlaceMarkerMessage(card.getId(), markerType.getId(), number, null, true);
CoreMessageBus.post(message);
}
}