From: Daniel H. <wik...@us...> - 2006-08-21 23:54:25
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv30612/src/games/stendhal/server Modified Files: StendhalRPZone.java Log Message: docu restructured if clauses to make it easier to read them Index: StendhalRPZone.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/StendhalRPZone.java,v retrieving revision 1.116 retrieving revision 1.117 diff -C2 -d -r1.116 -r1.117 *** StendhalRPZone.java 21 Aug 2006 20:19:31 -0000 1.116 --- StendhalRPZone.java 21 Aug 2006 23:54:13 -0000 1.117 *************** *** 729,732 **** --- 729,742 ---- } + /** + * Checks whether the given entity would be able to stand at the given + * position, or if it would collide with the collision map or with another + * entity. + * @param entity The entity that would stand on the given position + * @param x The x coordinate of the position where the entity would stand + * @param y The y coordinate of the position where the entity would stand + * @return true iff the entity could stand on the given position + * @throws AttributeNotFoundException + */ public synchronized boolean collides(Entity entity, double x, double y) throws AttributeNotFoundException { *************** *** 734,753 **** } public synchronized boolean collides(Entity entity, double x, double y, boolean checkObjects) throws AttributeNotFoundException { Rectangle2D area = entity.getArea(x, y); ! if (collisionMap.collides(area) == false) { ! if (!checkObjects) { ! return true; ! } ! Rectangle2D otherarea = new Rectangle.Double(); for (RPObject other : objects.values()) { Entity otherEntity = (Entity) other; if (otherEntity.isObstacle()) { ! otherEntity.getArea(otherarea, otherEntity.getx(), otherEntity.gety()); ! if (area.intersects(otherarea) && !entity.getID().equals(otherEntity.getID())) { return true; --- 744,779 ---- } + /** + * Checks whether the given entity would be able to stand at the given + * position, or if it would collide with the collision map or + * (if <i>checkObjects</i> is enabled) with another entity. + * @param entity The entity that would stand on the given position + * @param x The x coordinate of the position where the entity would stand + * @param y The y coordinate of the position where the entity would stand + * @param checkObjects If false, only the collision map will be used. + * @return true iff the entity could stand on the given position + * @throws AttributeNotFoundException + */ public synchronized boolean collides(Entity entity, double x, double y, boolean checkObjects) throws AttributeNotFoundException { Rectangle2D area = entity.getArea(x, y); ! if (collisionMap.collides(area)) { ! return true; ! } else if (!checkObjects) { ! return true; ! } else { ! // For every other object in this zone, check whether it's in the ! // way. ! Rectangle2D otherArea = new Rectangle.Double(); for (RPObject other : objects.values()) { Entity otherEntity = (Entity) other; if (otherEntity.isObstacle()) { ! // There is something the entity couldn't stand upon. ! // Check if it's in the way. ! otherEntity.getArea(otherArea, otherEntity.getx(), otherEntity.gety()); ! if (area.intersects(otherArea) && !entity.getID().equals(otherEntity.getID())) { return true; *************** *** 756,765 **** } return false; - } else { - return true; } } ! /** @return the entity at x,y or null if there is none */ public synchronized Entity getEntityAt(double x, double y) throws AttributeNotFoundException { --- 782,792 ---- } return false; } } ! /** ! * ! * @return the entity at x,y or null if there is none ! */ public synchronized Entity getEntityAt(double x, double y) throws AttributeNotFoundException { |