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 ++++++++++++++++-- src/tesseract/generators/GeneratorsMenu.java | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'src') 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; } diff --git a/src/tesseract/generators/GeneratorsMenu.java b/src/tesseract/generators/GeneratorsMenu.java index 0256d8b..41cbc23 100644 --- a/src/tesseract/generators/GeneratorsMenu.java +++ b/src/tesseract/generators/GeneratorsMenu.java @@ -23,7 +23,7 @@ public class GeneratorsMenu extends JMenu { super("Generators"); // Build the menu of generators. - //add(new SphereField(theWorld)); + add(new SphereField(theWorld)); add(new ParticleField(theWorld)); } } -- cgit v1.2.3