package com.kartoflane.ftl.layout.located; import com.kartoflane.ftl.layout.DefaultFTLLayoutFactory; import com.kartoflane.ftl.layout.DoorLayoutObject; import com.kartoflane.ftl.layout.EllipseLayoutObject; import com.kartoflane.ftl.layout.LOType; import com.kartoflane.ftl.layout.RoomLayoutObject; import com.kartoflane.ftl.layout.SingleValueLayoutObject; /** * Extension of the default factory, which constructs located objects * when the data is sufficient. * * @author kartoFlane * */ public class LocatedFTLLayoutFactory extends DefaultFTLLayoutFactory { @Override public DoorLayoutObject door(int line, int x, int y, int lid, int rid, boolean h) { return new LocatedDoorLayoutObject(line, x, y, lid, rid, h ? 0 : 1); } @Override public RoomLayoutObject room(int line, int id, int x, int y, int w, int h) { return new LocatedRoomLayoutObject(line, id, x, y, w, h); } @Override public EllipseLayoutObject ellipse(int line, int maj, int min, int x, int y) { return new LocatedEllipseLayoutObject(line, maj, min, x, y); } @Override public SingleValueLayoutObject xOffset(int line, int i) { return new LocatedSingleValueLayoutObject(LOType.X_OFFSET, line, i); } @Override public SingleValueLayoutObject yOffset(int line, int i) { return new LocatedSingleValueLayoutObject(LOType.Y_OFFSET, line, i); } @Override public SingleValueLayoutObject horizontal(int line, int i) { return new LocatedSingleValueLayoutObject(LOType.HORIZONTAL, line, i); } @Override public SingleValueLayoutObject vertical(int line, int i) { return new LocatedSingleValueLayoutObject(LOType.VERTICAL, line, i); } }