From 9a34bfda4af5bfb13f72b525680a0bfe678bffee Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 22 Mar 2014 21:52:19 +0200 Subject: [PATCH] Switch to main menu when disconnect --- src/com/annimon/turrets/GameCanvas.java | 4 ++++ src/com/annimon/turrets/network/NetworkListener.java | 7 ++++--- src/com/annimon/turrets/network/SocketHelper.java | 5 +++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/com/annimon/turrets/GameCanvas.java b/src/com/annimon/turrets/GameCanvas.java index 54c4ee6..5346ce9 100644 --- a/src/com/annimon/turrets/GameCanvas.java +++ b/src/com/annimon/turrets/GameCanvas.java @@ -70,6 +70,10 @@ public class GameCanvas extends DoubleBufferedCanvas implements Runnable, Networ @Override public void onStatusChanged(int status, Object data) { + if (status == ON_DISCONNECT) { + onExit(); + return; + } if (serverInstance) serverNetworkStatus(status, data); else clientNetworkStatus(status, data); } diff --git a/src/com/annimon/turrets/network/NetworkListener.java b/src/com/annimon/turrets/network/NetworkListener.java index c9c9684..3450c40 100644 --- a/src/com/annimon/turrets/network/NetworkListener.java +++ b/src/com/annimon/turrets/network/NetworkListener.java @@ -8,9 +8,10 @@ public interface NetworkListener { public static final int ON_CONNECT = 1, - ON_SEED_RECEIVED = 2, - ON_MOVE_RECEIVED = 3, - ON_NEW_ROUND = 4; + ON_DISCONNECT = 2, + ON_SEED_RECEIVED = 3, + ON_MOVE_RECEIVED = 4, + ON_NEW_ROUND = 5; public void onStatusChanged(int status, Object data); } diff --git a/src/com/annimon/turrets/network/SocketHelper.java b/src/com/annimon/turrets/network/SocketHelper.java index 4649ee1..c15f897 100644 --- a/src/com/annimon/turrets/network/SocketHelper.java +++ b/src/com/annimon/turrets/network/SocketHelper.java @@ -40,8 +40,9 @@ public class SocketHelper extends Thread { listener.onStatusChanged(status, receiveMove()); break; } - - } catch (IOException ex) { } + } catch (IOException ex) { + listener.onStatusChanged(NetworkListener.ON_DISCONNECT, null); + } try { Thread.sleep(200); } catch (InterruptedException ex) { }