package evopaint.commands; import java.awt.Point; import evopaint.Configuration; import evopaint.pixel.rulebased.RuleBasedPixel; import evopaint.pixel.rulebased.RuleSet; public class PickCommand extends AbstractCommand { private Point location; private final Configuration config; public PickCommand(Configuration config) { this.config = config; } @Override public void execute() { RuleBasedPixel pixel = config.world.get(location.x, location.y); if (pixel == null) return; config.paint.changeCurrentColor(pixel.getPixelColor()); if (pixel instanceof RuleBasedPixel) { RuleSet ruleSet = pixel.createRuleSet(); if (ruleSet != null) { config.paint.changeCurrentRuleSet(ruleSet); } } } public void setLocation(Point location) { this.location = location; } }