summaryrefslogtreecommitdiff
path: root/src/tesseract
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2011-03-17 06:43:39 +0000
committerJesse Morgan <jesse@jesterpm.net>2011-03-17 06:43:39 +0000
commitfb0d250e2572e25847057e576c0ea572c08df8b8 (patch)
tree7ec71416a1e86b89f67a13e8f3377746373dac06 /src/tesseract
parent6d11be84e237ddc8302f3df9b08651ed5923c9b5 (diff)
Clean up of the network stuff. Serialized blimp. Cleanup in tank.
Diffstat (limited to 'src/tesseract')
-rw-r--r--src/tesseract/objects/blimp/Blimp.java15
-rw-r--r--src/tesseract/objects/remote/RemoteObject.java10
-rw-r--r--src/tesseract/objects/tank/Tank.java6
3 files changed, 20 insertions, 11 deletions
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();