summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve <steveb9@u.washington.edu>2011-03-05 13:33:39 +0000
committerSteve <steveb9@u.washington.edu>2011-03-05 13:33:39 +0000
commitad04e40b3e6f6f15bb351b5521d39208e118f297 (patch)
treeef026b19881f81b8e23667e821e52414103f2f76
parent1d3e0f9df9174f3485f1c27f8720178b38e1582e (diff)
-rw-r--r--src/tesseract/World.java14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/tesseract/World.java b/src/tesseract/World.java
index 304ff3a..b15f541 100644
--- a/src/tesseract/World.java
+++ b/src/tesseract/World.java
@@ -262,36 +262,34 @@ public class World implements Observer {
ArrayList<CollisionInfo> collisions =
CollisionDetector.calculateCollisions(myObjects.get(i),myObjects.get(j));
- //if 'i' side and a neighbor exists, transmit j object to that node
- if (collisions.size() > 0 && myObjects.get(i) instanceof HalfSpace || myObjects.get(j) instanceof HalfSpace ) {
+ //if 'i' is a side and a neighbor exists, transmit j object to that node
+ if (collisions.size() > 0) {
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));
+
myObjects.get(j).detach();
- myObjects.remove(j);
}
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));
myObjects.get(j).detach();
- myObjects.remove(j);
}
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));
myObjects.get(j).detach();
- myObjects.remove(j);
}
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));
myObjects.get(j).detach();
- myObjects.remove(j);
}
//if 'j' is a side transmit i object
@@ -300,28 +298,24 @@ public class World implements Observer {
myPeer.sendPayloadToPeer(myPeer.getPeerInDirection
(my_side1.getPosition().getX(), my_side1.getPosition().getY()), myObjects.get(i));
myObjects.get(i).detach();
- myObjects.remove(i);
}
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));
myObjects.get(i).detach();
- myObjects.remove(i);
}
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));
myObjects.get(i).detach();
- myObjects.remove(i);
}
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));
myObjects.get(i).detach();
- myObjects.remove(i);
}
myObjects.get(i).resolveCollisions(myObjects.get(j));