package com.kartoflane.superluminal2.mvc.views; import org.eclipse.swt.events.PaintEvent; import com.kartoflane.superluminal2.ftl.DoorObject; import com.kartoflane.superluminal2.mvc.models.ObjectModel; public class DoorView extends BaseView { public DoorView() { super(); setImage("cpath:/assets/door_object.png"); setBorderColor(null); setBackgroundColor(null); setBorderThickness(2); } private ObjectModel getModel() { return (ObjectModel) model; } private DoorObject getGameObject() { return (DoorObject) getModel().getGameObject(); } @Override public void paintControl(PaintEvent e) { if (alpha > 0) { paintImage(e, image, cachedImageBounds, alpha); paintBorderSquare(e, borderColor, getBorderThickness(), alpha); } } @Override public void updateView() { if (controller.isSelected()) { setBorderColor(controller.isPinned() ? PIN_RGB : SELECT_RGB); setBackgroundColor(HIGHLIGHT_RGB); setBorderThickness(2); } else if (controller.isHighlighted()) { setBorderColor(HIGHLIGHT_RGB); setBackgroundColor(defaultBackground); setBorderThickness(3); } else { setBorderColor(defaultBorder); setBackgroundColor(defaultBackground); setBorderThickness(2); } setRotation(getGameObject().isHorizontal() ? 0 : 90); } @Override public void dispose() { super.dispose(); } }