* Ported TestMessages to new SM

* Mesh.deepClone() will no longer keep old collision tree

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7050 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
sha..rd 2011-03-19 22:47:35 +00:00
parent b46a09066d
commit de14f87e8b
3 changed files with 28 additions and 22 deletions

View File

@ -44,7 +44,7 @@ import com.jme3.math.Matrix4f;
* *
* @author Kirill Vainer * @author Kirill Vainer
*/ */
public interface CollisionData extends Savable { public interface CollisionData extends Savable, Cloneable {
public int collideWith(Collidable other, public int collideWith(Collidable other,
Matrix4f worldMatrix, Matrix4f worldMatrix,
BoundingVolume worldBound, BoundingVolume worldBound,

View File

@ -127,7 +127,11 @@ public class Mesh implements Savable, Cloneable {
try{ try{
Mesh clone = (Mesh) super.clone(); Mesh clone = (Mesh) super.clone();
clone.meshBound = meshBound != null ? meshBound.clone() : null; clone.meshBound = meshBound != null ? meshBound.clone() : null;
clone.collisionTree = collisionTree != null ? collisionTree : null;
// TODO: Collision tree cloning
//clone.collisionTree = collisionTree != null ? collisionTree : null;
clone.collisionTree = null; // it will get re-generated in any case
clone.buffers = new IntMap<VertexBuffer>(); clone.buffers = new IntMap<VertexBuffer>();
for (Entry<VertexBuffer> ent : buffers){ for (Entry<VertexBuffer> ent : buffers){
clone.buffers.put(ent.getKey(), ent.getValue().clone()); clone.buffers.put(ent.getKey(), ent.getValue().clone());

View File

@ -32,9 +32,11 @@
package jme3test.network; package jme3test.network;
import com.jme3.network.connection.Client; import com.jme3.network.Client;
import com.jme3.network.connection.Server; import com.jme3.network.HostedConnection;
import com.jme3.network.events.MessageAdapter; import com.jme3.network.MessageListener;
import com.jme3.network.Network;
import com.jme3.network.Server;
import com.jme3.network.message.Message; import com.jme3.network.message.Message;
import com.jme3.network.serializing.Serializable; import com.jme3.network.serializing.Serializable;
import com.jme3.network.serializing.Serializer; import com.jme3.network.serializing.Serializer;
@ -50,19 +52,19 @@ public class TestMessages {
public static class PongMessage extends Message { public static class PongMessage extends Message {
} }
private static class PingResponder extends MessageAdapter { private static class ServerPingResponder implements MessageListener<HostedConnection> {
@Override public void messageReceived(HostedConnection source, com.jme3.network.Message message) {
public void messageReceived(Message message) { if (message instanceof PingMessage){
try { System.out.println("Server: Received ping message!");
if (message instanceof PingMessage){ source.send(new PongMessage());
System.out.println("Received ping message!"); }
System.out.println("Sending pong message.."); }
message.getClient().send(new PongMessage()); }
}else if (message instanceof PongMessage){
System.out.println("Received pong message!"); private static class ClientPingResponder implements MessageListener<Client> {
} public void messageReceived(Client source, com.jme3.network.Message message) {
} catch (IOException ex) { if (message instanceof PongMessage){
ex.printStackTrace(); System.out.println("Client: Received pong message!");
} }
} }
} }
@ -71,14 +73,14 @@ public class TestMessages {
Serializer.registerClass(PingMessage.class); Serializer.registerClass(PingMessage.class);
Serializer.registerClass(PongMessage.class); Serializer.registerClass(PongMessage.class);
Server server = new Server(5110, 5110); Server server = Network.createServer(5110);
server.start(); server.start();
Client client = new Client("localhost", 5110, 5110); Client client = Network.connectToServer("192.168.1.101", 5110, 5111);
client.start(); client.start();
server.addMessageListener(new PingResponder(), PingMessage.class); server.addMessageListener(new ServerPingResponder(), PingMessage.class);
client.addMessageListener(new PingResponder(), PongMessage.class); client.addMessageListener(new ClientPingResponder(), PongMessage.class);
Thread.sleep(100); Thread.sleep(100);