package com.kartoflane.superluminal2.undo;
import com.kartoflane.superluminal2.ftl.RoomObject;
import com.kartoflane.superluminal2.mvc.controllers.DoorController;
import com.kartoflane.superluminal2.ui.EditorWindow;
@SuppressWarnings("serial")
public class UndoableDoorLinkEdit extends ValueUndoableEdit<RoomObject> {
private final DoorController data;
private final boolean left;
public UndoableDoorLinkEdit(DoorController dc, boolean left) {
if (dc == null)
throw new IllegalArgumentException("Argument must not be null.");
data = dc;
this.left = left;
}
@Override
public String getPresentationName() {
return String.format("link %s", data.getClass().getSimpleName());
}
@Override
public void doUndo() {
if (left)
data.setLeftRoom(old);
else
data.setRightRoom(old);
EditorWindow.getInstance().updateSidebarContent();
}
@Override
public void doRedo() {
if (left)
data.setLeftRoom(cur);
else
data.setRightRoom(cur);
EditorWindow.getInstance().updateSidebarContent();
}
}