From b280c5726f8813b26a92614abee946d1cea657fc Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Wed, 9 Mar 2011 01:33:49 +0000 Subject: Sending in background. --- src/tesseract/World.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/tesseract/World.java') diff --git a/src/tesseract/World.java b/src/tesseract/World.java index da385e1..2063aba 100644 --- a/src/tesseract/World.java +++ b/src/tesseract/World.java @@ -18,6 +18,7 @@ import javax.media.j3d.IndexedLineArray; import javax.media.j3d.Light; import javax.media.j3d.Node; import javax.media.j3d.Shape3D; +import javax.swing.SwingWorker; import javax.vecmath.Color3f; import javax.vecmath.Point3d; import javax.vecmath.Vector3f; @@ -276,14 +277,27 @@ public class World implements Observer { // Was there a halfspace involved? If so, was it a side? if (hs != null && hs.normal.y != 1 && hs.normal.y != -1 && myPeer.getPeerSize() > 0) { // Side collision, is there a peer? - PeerInformation peer = myPeer.getPeerInDirection(o.getVelocity().x, -o.getVelocity().z); + final PeerInformation peer = myPeer.getPeerInDirection(o.getVelocity().x, -o.getVelocity().z); if (peer != null) { + final CollidableObject sendMe = o; + o.rotateForTransmission(myPeer.getPeerInformation(), peer); - myPeer.sendPayloadToPeer(peer, o); o.detach(); myObjects.remove(o); + new SwingWorker() { + protected Object doInBackground() + throws Exception { + myPeer.sendPayloadToPeer(peer, sendMe); + this.done(); + + return null; + } + + }.execute(); + + // Moving on continue; } -- cgit v1.2.3