From fb0d250e2572e25847057e576c0ea572c08df8b8 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Thu, 17 Mar 2011 06:43:39 +0000 Subject: Clean up of the network stuff. Serialized blimp. Cleanup in tank. --- src/tesseract/objects/blimp/Blimp.java | 15 ++++++++++++++- src/tesseract/objects/remote/RemoteObject.java | 10 ++++++---- src/tesseract/objects/tank/Tank.java | 6 ------ 3 files changed, 20 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/tesseract/objects/blimp/Blimp.java b/src/tesseract/objects/blimp/Blimp.java index bdc62d0..517bf89 100644 --- a/src/tesseract/objects/blimp/Blimp.java +++ b/src/tesseract/objects/blimp/Blimp.java @@ -1,6 +1,9 @@ package tesseract.objects.blimp; import java.awt.event.KeyEvent; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import javax.media.j3d.Appearance; import javax.media.j3d.ColoringAttributes; @@ -45,7 +48,8 @@ public class Blimp extends RemoteObject { private final int MAX_TURN = 32; private final float MAX_SPEED = .3f; private Vector3f[] vectors; - private TransformGroup my_blimp; + + transient private TransformGroup my_blimp; /** * Use to scale all object together @@ -457,5 +461,14 @@ public class Blimp extends RemoteObject { super.updateState(duration); } + private void readObject(ObjectInputStream in) + throws IOException, ClassNotFoundException { + in.defaultReadObject(); + + // Find those pesky references + my_blimp = (TransformGroup) TG.getChild(0); + } + + } diff --git a/src/tesseract/objects/remote/RemoteObject.java b/src/tesseract/objects/remote/RemoteObject.java index 32f5a11..7ac1e72 100644 --- a/src/tesseract/objects/remote/RemoteObject.java +++ b/src/tesseract/objects/remote/RemoteObject.java @@ -8,6 +8,7 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.Socket; import java.net.SocketAddress; +import java.net.SocketException; import java.util.UUID; import javax.vecmath.Vector3f; @@ -126,9 +127,8 @@ public abstract class RemoteObject extends PhysicalObject { } - private void writeObject(ObjectOutputStream out) - throws IOException { - out.defaultWriteObject(); + public void detach() { + super.detach(); myListener.stop(); } @@ -148,7 +148,6 @@ public abstract class RemoteObject extends PhysicalObject { mySocket = new Socket(); try { - System.out.println("Connecting to " + myHome); mySocket.connect(myHome); // Send id @@ -168,6 +167,9 @@ public abstract class RemoteObject extends PhysicalObject { sendKeyEvent(event); + } catch (SocketException e) { + // Socket closed from transportation. + } catch (Exception e) { System.err.println("Could not read KeyEvent: " + e); break; diff --git a/src/tesseract/objects/tank/Tank.java b/src/tesseract/objects/tank/Tank.java index 4edcb82..50a0b10 100644 --- a/src/tesseract/objects/tank/Tank.java +++ b/src/tesseract/objects/tank/Tank.java @@ -329,12 +329,6 @@ public class Tank extends RemoteObject { super.updateState(duration); } - - private void writeObject(ObjectOutputStream out) - throws IOException { - out.defaultWriteObject(); - } - private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); -- cgit v1.2.3