package com.kartoflane.superluminal2.ftl;
import com.kartoflane.superluminal2.components.interfaces.Deletable;
import com.kartoflane.superluminal2.mvc.models.ObjectModel;
public abstract class GameObject implements Deletable {
protected ObjectModel model = null;
protected boolean deletable = true;
protected boolean deleted = false;
public void setModel(ObjectModel model) {
this.model = model;
}
/** Pull positioning data from the model and interpret it to represent it in-game. */
public abstract void update();
@Override
public void delete() {
deleted = true;
}
public boolean isDeleted() {
return deleted;
}
@Override
public void restore() {
deleted = false;
}
@Override
public void setDeletable(boolean deletable) {
this.deletable = deletable;
}
@Override
public boolean isDeletable() {
return deletable;
}
}