Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 26 additions & 39 deletions src/org/andengine/examples/MultiplayerBluetoothExample.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,21 @@
import org.andengine.examples.adt.messages.server.ConnectionCloseServerMessage;
import org.andengine.examples.adt.messages.server.ServerMessageFlags;
import org.andengine.examples.util.BluetoothListDevicesActivity;
import org.andengine.extension.multiplayer.protocol.adt.message.IMessage;
import org.andengine.extension.multiplayer.protocol.adt.message.server.IServerMessage;
import org.andengine.extension.multiplayer.protocol.adt.message.server.ServerMessage;
import org.andengine.extension.multiplayer.protocol.client.IServerMessageHandler;
import org.andengine.extension.multiplayer.protocol.client.connector.BluetoothSocketConnectionServerConnector;
import org.andengine.extension.multiplayer.protocol.client.connector.BluetoothSocketConnectionServerConnector.IBluetoothSocketConnectionServerConnectorListener;
import org.andengine.extension.multiplayer.protocol.client.connector.ServerConnector;
import org.andengine.extension.multiplayer.protocol.exception.BluetoothException;
import org.andengine.extension.multiplayer.protocol.server.BluetoothSocketServer;
import org.andengine.extension.multiplayer.protocol.server.BluetoothSocketServer.IBluetoothSocketServerListener;
import org.andengine.extension.multiplayer.protocol.server.connector.BluetoothSocketConnectionClientConnector;
import org.andengine.extension.multiplayer.protocol.server.connector.BluetoothSocketConnectionClientConnector.IBluetoothSocketConnectionClientConnectorListener;
import org.andengine.extension.multiplayer.protocol.server.connector.ClientConnector;
import org.andengine.extension.multiplayer.protocol.shared.BluetoothSocketConnection;
import org.andengine.extension.multiplayer.protocol.util.MessagePool;
import org.andengine.extension.multiplayer.adt.message.IMessage;
import org.andengine.extension.multiplayer.adt.message.server.IServerMessage;
import org.andengine.extension.multiplayer.adt.message.server.ServerMessage;
import org.andengine.extension.multiplayer.client.IServerMessageHandler;
import org.andengine.extension.multiplayer.client.connector.BluetoothSocketConnectionServerConnector;
import org.andengine.extension.multiplayer.client.connector.BluetoothSocketConnectionServerConnector.IBluetoothSocketConnectionServerConnectorListener;
import org.andengine.extension.multiplayer.client.connector.ServerConnector;
import org.andengine.util.exception.BluetoothException;
import org.andengine.extension.multiplayer.server.BluetoothSocketServer;
import org.andengine.extension.multiplayer.server.BluetoothSocketServer.IBluetoothSocketServerListener;
import org.andengine.extension.multiplayer.server.connector.BluetoothSocketConnectionClientConnector;
import org.andengine.extension.multiplayer.server.connector.BluetoothSocketConnectionClientConnector.IBluetoothSocketConnectionClientConnectorListener;
import org.andengine.extension.multiplayer.server.connector.ClientConnector;
import org.andengine.extension.multiplayer.shared.BluetoothSocketConnection;
import org.andengine.extension.multiplayer.util.MessagePool;
import org.andengine.input.touch.TouchEvent;
import org.andengine.opengl.texture.ITexture;
import org.andengine.opengl.texture.TextureOptions;
Expand Down Expand Up @@ -195,11 +195,7 @@ public EngineOptions onCreateEngineOptions() {
@Override
protected void onDestroy() {
if(this.mBluetoothSocketServer != null) {
try {
this.mBluetoothSocketServer.sendBroadcastServerMessage(new ConnectionCloseServerMessage());
} catch (final IOException e) {
Debug.e(e);
}
this.mBluetoothSocketServer.sendBroadcastServerMessage(new ConnectionCloseServerMessage());
this.mBluetoothSocketServer.terminate();
}

Expand Down Expand Up @@ -240,16 +236,12 @@ public Scene onCreateScene() {
@Override
public boolean onSceneTouchEvent(final Scene pScene, final TouchEvent pSceneTouchEvent) {
if(pSceneTouchEvent.isActionDown()) {
try {
final AddSpriteServerMessage addSpriteServerMessage = (AddSpriteServerMessage) MultiplayerBluetoothExample.this.mMessagePool.obtainMessage(FLAG_MESSAGE_SERVER_ADD_SPRITE);
addSpriteServerMessage.set(MultiplayerBluetoothExample.this.mSpriteIDCounter++, pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
final AddSpriteServerMessage addSpriteServerMessage = (AddSpriteServerMessage) MultiplayerBluetoothExample.this.mMessagePool.obtainMessage(FLAG_MESSAGE_SERVER_ADD_SPRITE);
addSpriteServerMessage.set(MultiplayerBluetoothExample.this.mSpriteIDCounter++, pSceneTouchEvent.getX(), pSceneTouchEvent.getY());

MultiplayerBluetoothExample.this.mBluetoothSocketServer.sendBroadcastServerMessage(addSpriteServerMessage);
MultiplayerBluetoothExample.this.mBluetoothSocketServer.sendBroadcastServerMessage(addSpriteServerMessage);

MultiplayerBluetoothExample.this.mMessagePool.recycleMessage(addSpriteServerMessage);
} catch (final IOException e) {
Debug.e(e);
}
MultiplayerBluetoothExample.this.mMessagePool.recycleMessage(addSpriteServerMessage);
return true;
} else {
return false;
Expand All @@ -260,20 +252,15 @@ public boolean onSceneTouchEvent(final Scene pScene, final TouchEvent pSceneTouc
scene.setOnAreaTouchListener(new IOnAreaTouchListener() {
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final ITouchArea pTouchArea, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
try {
final Sprite sprite = (Sprite)pTouchArea;
final int spriteID = (Integer)sprite.getUserData();
final Sprite sprite = (Sprite)pTouchArea;
final int spriteID = (Integer)sprite.getUserData();

final MoveSpriteServerMessage moveSpriteServerMessage = (MoveSpriteServerMessage) MultiplayerBluetoothExample.this.mMessagePool.obtainMessage(FLAG_MESSAGE_SERVER_MOVE_SPRITE);
moveSpriteServerMessage.set(spriteID, pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
final MoveSpriteServerMessage moveSpriteServerMessage = (MoveSpriteServerMessage) MultiplayerBluetoothExample.this.mMessagePool.obtainMessage(FLAG_MESSAGE_SERVER_MOVE_SPRITE);
moveSpriteServerMessage.set(spriteID, pSceneTouchEvent.getX(), pSceneTouchEvent.getY());

MultiplayerBluetoothExample.this.mBluetoothSocketServer.sendBroadcastServerMessage(moveSpriteServerMessage);
MultiplayerBluetoothExample.this.mBluetoothSocketServer.sendBroadcastServerMessage(moveSpriteServerMessage);

MultiplayerBluetoothExample.this.mMessagePool.recycleMessage(moveSpriteServerMessage);
} catch (final IOException e) {
Debug.e(e);
return false;
}
MultiplayerBluetoothExample.this.mMessagePool.recycleMessage(moveSpriteServerMessage);
return true;
}
});
Expand Down
67 changes: 27 additions & 40 deletions src/org/andengine/examples/MultiplayerExample.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,28 @@
import org.andengine.examples.adt.messages.client.ClientMessageFlags;
import org.andengine.examples.adt.messages.server.ConnectionCloseServerMessage;
import org.andengine.examples.adt.messages.server.ServerMessageFlags;
import org.andengine.extension.multiplayer.protocol.adt.message.IMessage;
import org.andengine.extension.multiplayer.protocol.adt.message.server.IServerMessage;
import org.andengine.extension.multiplayer.protocol.adt.message.server.ServerMessage;
import org.andengine.extension.multiplayer.protocol.client.IServerMessageHandler;
import org.andengine.extension.multiplayer.protocol.client.connector.ServerConnector;
import org.andengine.extension.multiplayer.protocol.client.connector.SocketConnectionServerConnector;
import org.andengine.extension.multiplayer.protocol.client.connector.SocketConnectionServerConnector.ISocketConnectionServerConnectorListener;
import org.andengine.extension.multiplayer.protocol.server.SocketServer;
import org.andengine.extension.multiplayer.protocol.server.SocketServer.ISocketServerListener;
import org.andengine.extension.multiplayer.protocol.server.connector.ClientConnector;
import org.andengine.extension.multiplayer.protocol.server.connector.SocketConnectionClientConnector;
import org.andengine.extension.multiplayer.protocol.server.connector.SocketConnectionClientConnector.ISocketConnectionClientConnectorListener;
import org.andengine.extension.multiplayer.protocol.shared.SocketConnection;
import org.andengine.extension.multiplayer.protocol.util.MessagePool;
import org.andengine.extension.multiplayer.protocol.util.WifiUtils;
import org.andengine.extension.multiplayer.adt.message.IMessage;
import org.andengine.extension.multiplayer.adt.message.server.IServerMessage;
import org.andengine.extension.multiplayer.adt.message.server.ServerMessage;
import org.andengine.extension.multiplayer.client.IServerMessageHandler;
import org.andengine.extension.multiplayer.client.connector.ServerConnector;
import org.andengine.extension.multiplayer.client.connector.SocketConnectionServerConnector;
import org.andengine.extension.multiplayer.client.connector.SocketConnectionServerConnector.ISocketConnectionServerConnectorListener;
import org.andengine.extension.multiplayer.server.SocketServer;
import org.andengine.extension.multiplayer.server.SocketServer.ISocketServerListener;
import org.andengine.extension.multiplayer.server.connector.ClientConnector;
import org.andengine.extension.multiplayer.server.connector.SocketConnectionClientConnector;
import org.andengine.extension.multiplayer.server.connector.SocketConnectionClientConnector.ISocketConnectionClientConnectorListener;
import org.andengine.extension.multiplayer.shared.SocketConnection;
import org.andengine.extension.multiplayer.util.MessagePool;
import org.andengine.input.touch.TouchEvent;
import org.andengine.opengl.texture.ITexture;
import org.andengine.opengl.texture.TextureOptions;
import org.andengine.opengl.texture.bitmap.AssetBitmapTexture;
import org.andengine.opengl.texture.region.ITextureRegion;
import org.andengine.opengl.texture.region.TextureRegionFactory;
import org.andengine.ui.activity.SimpleBaseGameActivity;
import org.andengine.util.WifiUtils;
import org.andengine.util.debug.Debug;

import android.app.AlertDialog;
Expand Down Expand Up @@ -143,16 +143,12 @@ public Scene onCreateScene() {
@Override
public boolean onSceneTouchEvent(final Scene pScene, final TouchEvent pSceneTouchEvent) {
if(pSceneTouchEvent.isActionDown()) {
try {
final AddSpriteServerMessage addSpriteServerMessage = (AddSpriteServerMessage) MultiplayerExample.this.mMessagePool.obtainMessage(FLAG_MESSAGE_SERVER_ADD_SPRITE);
addSpriteServerMessage.set(MultiplayerExample.this.mSpriteIDCounter++, pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
final AddSpriteServerMessage addSpriteServerMessage = (AddSpriteServerMessage) MultiplayerExample.this.mMessagePool.obtainMessage(FLAG_MESSAGE_SERVER_ADD_SPRITE);
addSpriteServerMessage.set(MultiplayerExample.this.mSpriteIDCounter++, pSceneTouchEvent.getX(), pSceneTouchEvent.getY());

MultiplayerExample.this.mSocketServer.sendBroadcastServerMessage(addSpriteServerMessage);
MultiplayerExample.this.mSocketServer.sendBroadcastServerMessage(addSpriteServerMessage);

MultiplayerExample.this.mMessagePool.recycleMessage(addSpriteServerMessage);
} catch (final IOException e) {
Debug.e(e);
}
MultiplayerExample.this.mMessagePool.recycleMessage(addSpriteServerMessage);
return true;
} else {
return true;
Expand All @@ -163,20 +159,15 @@ public boolean onSceneTouchEvent(final Scene pScene, final TouchEvent pSceneTouc
scene.setOnAreaTouchListener(new IOnAreaTouchListener() {
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final ITouchArea pTouchArea, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
try {
final Sprite sprite = (Sprite)pTouchArea;
final int spriteID = (Integer)sprite.getUserData();
final Sprite sprite = (Sprite)pTouchArea;
final int spriteID = (Integer)sprite.getUserData();

final MoveSpriteServerMessage moveSpriteServerMessage = (MoveSpriteServerMessage) MultiplayerExample.this.mMessagePool.obtainMessage(FLAG_MESSAGE_SERVER_MOVE_SPRITE);
moveSpriteServerMessage.set(spriteID, pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
final MoveSpriteServerMessage moveSpriteServerMessage = (MoveSpriteServerMessage) MultiplayerExample.this.mMessagePool.obtainMessage(FLAG_MESSAGE_SERVER_MOVE_SPRITE);
moveSpriteServerMessage.set(spriteID, pSceneTouchEvent.getX(), pSceneTouchEvent.getY());

MultiplayerExample.this.mSocketServer.sendBroadcastServerMessage(moveSpriteServerMessage);
MultiplayerExample.this.mSocketServer.sendBroadcastServerMessage(moveSpriteServerMessage);

MultiplayerExample.this.mMessagePool.recycleMessage(moveSpriteServerMessage);
} catch (final IOException e) {
Debug.e(e);
return false;
}
MultiplayerExample.this.mMessagePool.recycleMessage(moveSpriteServerMessage);
return true;
}
});
Expand All @@ -199,7 +190,7 @@ protected Dialog onCreateDialog(final int pID) {
.setMessage("The IP of your Server is:\n" + WifiUtils.getWifiIPv4Address(this))
.setPositiveButton(android.R.string.ok, null)
.create();
} catch (final UnknownHostException e) {
} catch (final WifiUtils.WifiUtilsException e) {
return new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Your Server-IP ...")
Expand Down Expand Up @@ -270,11 +261,7 @@ public void onClick(final DialogInterface pDialog, final int pWhich) {
@Override
protected void onDestroy() {
if(this.mSocketServer != null) {
try {
this.mSocketServer.sendBroadcastServerMessage(new ConnectionCloseServerMessage());
} catch (final IOException e) {
Debug.e(e);
}
this.mSocketServer.sendBroadcastServerMessage(new ConnectionCloseServerMessage());
this.mSocketServer.terminate();
}

Expand Down
Loading