package model.Elements.Extinguisher;


import model.Board.Board;
import model.Elements.ModelElement;
import util.Neighbour;
import util.Position;
import util.TargetStrategy;

import java.util.List;

public abstract class Extinguisher implements model.Elements.element {
    protected final TargetStrategy targetStrategy = new TargetStrategy();
    protected Neighbour neighbour;

    protected Position position;
    protected ModelElement element;
    public Extinguisher(Position position){
        this.position = position;
    }

    public Position getPosition() {
        return position;
    }

    public void setPosition(Position position) {
        this.position = position;
    }

    public ModelElement getElement(){
        return this.element;
    }

    public void extinguish(Board board, Position position) {
        if (board.getFires().containsKey(position)) {
            board.getFires().remove(position);
        }

    }

    public abstract List<Position> update(Board<List<ModelElement>> firefighterBoard);

}