diff options
author | Steve <steveb9@u.washington.edu> | 2011-03-05 11:48:01 +0000 |
---|---|---|
committer | Steve <steveb9@u.washington.edu> | 2011-03-05 11:48:01 +0000 |
commit | 7c1e3ab40065f139acc69dd8d4cd8215d8937dfb (patch) | |
tree | f3e8a4f2096893ec335741222db5479dcc3ed702 | |
parent | b49ec8b9f00c98e07eaf210c1984f9314a8cd5b6 (diff) |
Changed logic in tick, seems to work for neighboring node detection
-rw-r--r-- | src/tesseract/World.java | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/src/tesseract/World.java b/src/tesseract/World.java index ad55819..eb30713 100644 --- a/src/tesseract/World.java +++ b/src/tesseract/World.java @@ -262,35 +262,50 @@ public class World implements Observer { ArrayList<CollisionInfo> collisions = CollisionDetector.calculateCollisions(myObjects.get(i),myObjects.get(j)); if (collisions.size() > 0) { - //if 'i' is a side transmit j object - if (myObjects.get(i).equals(my_side1)) { + //if 'i' side and a neighbor exists, transmit j object to that node + if (myObjects.get(i).equals(my_side1) && myPeer.getPeerInDirection + (my_side1.getPosition().getX(), my_side1.getPosition().getY()) != null) { myPeer.sendPayloadToPeer(myPeer.getPeerInDirection (my_side1.getPosition().getX(), my_side1.getPosition().getY()), myObjects.get(j)); - } else if (myObjects.get(i).equals(my_side2)) { + } + if (myObjects.get(i).equals(my_side2)&& myPeer.getPeerInDirection + (my_side2.getPosition().getX(), my_side2.getPosition().getY()) != null) { myPeer.sendPayloadToPeer(myPeer.getPeerInDirection (my_side2.getPosition().getX(), my_side2.getPosition().getY()), myObjects.get(j)); - } else if (myObjects.get(i).equals(my_side3)) { + } + if (myObjects.get(i).equals(my_side3)&& myPeer.getPeerInDirection + (my_side3.getPosition().getX(), my_side3.getPosition().getY()) != null) { myPeer.sendPayloadToPeer(myPeer.getPeerInDirection (my_side3.getPosition().getX(), my_side3.getPosition().getY()), myObjects.get(j)); - } else if (myObjects.get(i).equals(my_side4)) { + } + if (myObjects.get(i).equals(my_side4)&& myPeer.getPeerInDirection + (my_side4.getPosition().getX(), my_side4.getPosition().getY()) != null) { myPeer.sendPayloadToPeer(myPeer.getPeerInDirection (my_side4.getPosition().getX(), my_side4.getPosition().getY()), myObjects.get(j)); - + } //if 'j' is a side transmit i object - } else if (myObjects.get(j).equals(my_side1)) { + if (myObjects.get(j).equals(my_side1)&& myPeer.getPeerInDirection + (my_side1.getPosition().getX(), my_side1.getPosition().getY()) != null) { myPeer.sendPayloadToPeer(myPeer.getPeerInDirection (my_side1.getPosition().getX(), my_side1.getPosition().getY()), myObjects.get(i)); - } else if (myObjects.get(j).equals(my_side2)) { + } + if (myObjects.get(j).equals(my_side2)&& myPeer.getPeerInDirection + (my_side2.getPosition().getX(), my_side2.getPosition().getY()) != null) { myPeer.sendPayloadToPeer(myPeer.getPeerInDirection (my_side2.getPosition().getX(), my_side2.getPosition().getY()), myObjects.get(i)); - } else if (myObjects.get(j).equals(my_side3)) { + } + if (myObjects.get(j).equals(my_side3)&& myPeer.getPeerInDirection + (my_side3.getPosition().getX(), my_side3.getPosition().getY()) != null) { myPeer.sendPayloadToPeer(myPeer.getPeerInDirection (my_side3.getPosition().getX(), my_side3.getPosition().getY()), myObjects.get(i)); - } else if (myObjects.get(j).equals(my_side4)) { + } + if (myObjects.get(j).equals(my_side4)&& myPeer.getPeerInDirection + (my_side4.getPosition().getX(), my_side4.getPosition().getY()) != null) { myPeer.sendPayloadToPeer(myPeer.getPeerInDirection (my_side4.getPosition().getX(), my_side4.getPosition().getY()), myObjects.get(i)); + } else { + myObjects.get(i).resolveCollisions(myObjects.get(j)); } - myObjects.get(i).resolveCollisions(myObjects.get(j)); } } |