package com.clearlyspam23.GLE.basic.layers.tile.edit.commands; import java.util.ArrayList; import java.util.List; import org.piccolo2d.PCamera; import org.piccolo2d.event.PInputEvent; import com.clearlyspam23.GLE.basic.layers.tile.TileData; import com.clearlyspam23.GLE.basic.layers.tile.edit.TileLayerEditManager; import com.clearlyspam23.GLE.basic.layers.tile.edit.actions.EraseTileAction; import com.clearlyspam23.GLE.basic.layers.tile.gui.TilePNode; import com.clearlyspam23.GLE.util.Pair; public class EraseTileCommand extends TileDragCommand { protected List<Pair<TilePNode, TileData>> replacedList; public EraseTileCommand(TileLayerEditManager data) { super(data); } protected void setTile(TilePNode tile, PCamera cam){ replacedList.add(new Pair<TilePNode, TileData>(tile, tile.getTileData())); tile.resetTileset(); } private boolean aChangeExists(){ for(Pair<TilePNode, TileData> p : replacedList){ if(p.second.tileset!=null) return true; } return false; } @Override protected void onFinish(PInputEvent event) { if(aChangeExists()){ EraseTileAction action = new EraseTileAction(replacedList); data.registerEditAction(action); } } @Override protected boolean onStart(PInputEvent event) { replacedList = new ArrayList<Pair<TilePNode, TileData>>(); return true; } }