package com.clearlyspam23.GLE.basic.layers.tile.edit.actions;
import java.util.List;
import com.clearlyspam23.GLE.basic.layers.tile.TileData;
import com.clearlyspam23.GLE.basic.layers.tile.gui.TilePNode;
import com.clearlyspam23.GLE.edit.EditAction;
import com.clearlyspam23.GLE.util.Pair;
public class PlaceTileAction implements EditAction{
public List<Pair<TilePNode, TileData>> nodes;
public TileData endTile;
public PlaceTileAction(List<Pair<TilePNode, TileData>> tiles, TileData changeTile) {
this.nodes = tiles;
this.endTile = changeTile;
}
@Override
public void undoAction() {
for(Pair<TilePNode, TileData> p : nodes){
if(p.second.tileset==null||p.second.tileX<0||p.second.tileY<0)
p.first.resetTileset();
else
p.first.setTileset(p.second.tileset, p.second.tileX, p.second.tileY);
}
}
@Override
public void doAction() {
for(Pair<TilePNode, TileData> p : nodes){
p.first.setTileset(endTile.tileset, endTile.tileX, endTile.tileY);
}
}
@Override
public String getDescription() {
return "Placed " + nodes.size() + " Tiles";
}
}