package mapmaker; import java.awt.*; //========================================================================== // Class used to record potential link ups between map locations. //========================================================================== class LinkUp { // The location being moved (or added). public MapLocation mSelectedLocation; // The location we want to link up with. public MapLocation mUnselectedLocation; // The 'direction' from the selected location to the unselected // location. public int mDirection; // The translation needed to be applied to the selected location to // link up the two locations. public Point mTranslation; public int mSelectedX; public int mSelectedY; public LinkUp(MapLocation aSelected, MapLocation aUnselected, int aDir) { mSelectedLocation = aSelected; mUnselectedLocation = aUnselected; mDirection = aDir; mSelectedX = aSelected.getX(); mSelectedY = aSelected.getY(); // Find the coordinates of the exit on the selected location. Point selectedPoint = mSelectedLocation.getCardinals()[mDirection]; // Find the coordinates of the exit on the unselected location. Point unselectedPoint = mUnselectedLocation.getCardinals() [Direction.getOppoisite(mDirection)]; // Work out the translation that needs to be applied to link up // the locations. mTranslation = new Point(selectedPoint.x - unselectedPoint.x, selectedPoint.y - unselectedPoint.y); } public String toString() { return mTranslation.toString() + ": " + mSelectedLocation.toString() + ", " + mUnselectedLocation.toString(); } }