Newer
Older
package model.Elements;
import model.Elements.Extinguisher.Cloud;
import model.Elements.Extinguisher.Extinguisher;
import model.Elements.Extinguisher.FireFighter;
import model.Elements.Extinguisher.MotorizedFireFighter;
import model.Elements.Obstacle.Mountain;
import model.Elements.Obstacle.Obstacle;
import model.Elements.Obstacle.Road;
import model.Elements.Obstacle.Rocaille;
import util.Position;
MEHDI
committed
MEHDI
committed
CLOUD(10),
private final int initialNumber;
MEHDI
committed
ModelElement(int initialNumber) {
this.initialNumber = initialNumber;
}
public int getInitialNumber(){
return this.initialNumber;
}
public Element getModelElementClass(Position position){
return switch (this){
case FIRE -> new Fire(position);
case ROAD -> new Road(position);
case FIREFIGHTER -> new FireFighter(position);
case CLOUD -> new Cloud(position);
case MOTORIZEDFIREFIGHTER -> new MotorizedFireFighter(position);
default -> throw new IllegalArgumentException("Unknown ModelElement: " + this);
};
}
MEHDI
committed
public boolean isObstacle() {
return this.getModelElementClass(null) instanceof Obstacle;
public boolean isExtinguisher(){
MEHDI
committed
}