if (obj instanceof PathFinder) { PathFinder pf = (PathFinder)obj; if (pf.mDirector instanceof PathFinderDirector) { PathFinderDirector director = (PathFinderDirector)pf.mDirector; if (director.mLatestNode != null) { g.setColor(Color.magenta); Point current = gameToScreenCoords(director.mLatestNode.mPosition.toPoint()); g.drawOval(current.x-1, current.y-1, 2, 2); } drawPathNode(g, director.mStartNode); if (director.mLatestNode != null) { g.setColor(Color.magenta); Point current = gameToScreenCoords(director.mLatestNode.mPosition.toPoint()); g.drawOval(current.x-1, current.y-1, 2, 2); } } }
	void drawObject(Graphics g, Point gp, GameObject obj) {		Point sp = gameToScreenCoords(gp);				if (obj instanceof Radar) {			g.setColor(Color.black);			// REMARK: Why the 3 * parcel width/height?			// Because it's easy to check in the window.			// It shouldn't use parcel info in final version.			Point sw = gameToScreenVect(new Point(3 * mSatellite.getMap().mParcelWidth, 3 * mSatellite.getMap().mParcelHeight));			g.drawOval(sp.x - sw.x/2, sp.y - sw.y/2, sw.x, sw.y);		}		if (obj instanceof Targettable) {			g.setColor(Color.white);			Point tsp = gameToScreenCoords(((Targettable)obj).getTarget());			g.drawLine(sp.x, sp.y, tsp.x, tsp.y);		}				g.setColor(Color.red);		g.fillOval(sp.x-2, sp.y-2, 4, 4); // putPixel	}