From fdf9b22d58c437542b5528d0cd770b852598c009 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Sun, 7 Jun 2020 13:58:55 +0200 Subject: [PATCH] Fixed Datacontroller to allow for Data sendback --- core/src/netwerkprog/game/client/MainGame.java | 6 +++--- .../game/client/game/connections/Client.java | 11 ++++++----- core/src/netwerkprog/game/server/ServerClient.java | 5 +++-- .../game/server/controllers/DataController.java | 4 ++-- core/src/netwerkprog/game/util/data/DataCallback.java | 4 +--- core/src/netwerkprog/game/util/data/DataSource.java | 5 +++++ .../netwerkprog/game/util/data/ParserCallback.java | 5 ----- 7 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 core/src/netwerkprog/game/util/data/DataSource.java delete mode 100644 core/src/netwerkprog/game/util/data/ParserCallback.java diff --git a/core/src/netwerkprog/game/client/MainGame.java b/core/src/netwerkprog/game/client/MainGame.java index 0c6fcf3..b664b7d 100644 --- a/core/src/netwerkprog/game/client/MainGame.java +++ b/core/src/netwerkprog/game/client/MainGame.java @@ -12,7 +12,6 @@ import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.GlyphLayout; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.TimeUtils; import netwerkprog.game.client.game.GAMESTATE; import netwerkprog.game.client.game.characters.Agent; import netwerkprog.game.client.game.characters.Hacker; @@ -25,6 +24,7 @@ import netwerkprog.game.client.game.map.Map; import netwerkprog.game.client.game.map.MapRenderer; import netwerkprog.game.util.data.Data; import netwerkprog.game.util.data.DataCallback; +import netwerkprog.game.util.data.DataSource; import netwerkprog.game.util.game.Faction; import netwerkprog.game.util.game.GameCharacter; import netwerkprog.game.util.graphics.FrameRate; @@ -346,11 +346,11 @@ public class MainGame extends ApplicationAdapter implements DataCallback { public void send(Data data) { System.out.println("[MAINGAME] sending data " + data); - this.client.send(data); + this.client.writeData(data); } @Override - public void onDataReceived(Data data) { + public void onDataReceived(Data data, DataSource source) { System.out.println("[MAINGAME] Got data: " + data.toString()); } diff --git a/core/src/netwerkprog/game/client/game/connections/Client.java b/core/src/netwerkprog/game/client/game/connections/Client.java index 4699a97..22153f7 100644 --- a/core/src/netwerkprog/game/client/game/connections/Client.java +++ b/core/src/netwerkprog/game/client/game/connections/Client.java @@ -4,6 +4,7 @@ import netwerkprog.game.util.application.Controller; import netwerkprog.game.util.data.ConnectionData; import netwerkprog.game.util.data.Data; import netwerkprog.game.util.data.DataCallback; +import netwerkprog.game.util.data.DataSource; import java.io.IOException; import java.io.ObjectInputStream; @@ -11,7 +12,7 @@ import java.io.ObjectOutputStream; import java.net.Socket; import java.util.Arrays; -public class Client extends Controller { +public class Client extends Controller implements DataSource { private final int port; private final String hostname; private boolean isConnected; @@ -69,7 +70,7 @@ public class Client extends Controller { public void register(ObjectInputStream in) { while (connecting) { String username = "DEV"; - send(new ConnectionData("Connect", username)); + writeData(new ConnectionData("Connect", username)); try { Object object = in.readObject(); if (object instanceof Data) { @@ -93,7 +94,7 @@ public class Client extends Controller { * * @param data The message to send. */ - public void send(Data data) { + public void writeData(Data data) { try { System.out.println("[CLIENT] writing data " + data); this.outputStream.writeObject(data); @@ -114,7 +115,7 @@ public class Client extends Controller { Object object = in.readObject(); System.out.println("[CLIENT] got object " + object); if (object instanceof Data) { - callback.onDataReceived((Data) object); + callback.onDataReceived((Data) object, this); } } catch (IOException | ClassNotFoundException e) { e.printStackTrace(); @@ -130,7 +131,7 @@ public class Client extends Controller { e.printStackTrace(); } - send(new ConnectionData("Disconnect", "DEV")); + writeData(new ConnectionData("Disconnect", "DEV")); try { this.socket.close(); diff --git a/core/src/netwerkprog/game/server/ServerClient.java b/core/src/netwerkprog/game/server/ServerClient.java index cdee3f5..86e49ca 100644 --- a/core/src/netwerkprog/game/server/ServerClient.java +++ b/core/src/netwerkprog/game/server/ServerClient.java @@ -5,12 +5,13 @@ import netwerkprog.game.server.controllers.SessionController; import netwerkprog.game.util.data.ConnectionData; import netwerkprog.game.util.data.Data; import netwerkprog.game.util.data.DataCallback; +import netwerkprog.game.util.data.DataSource; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; -public class ServerClient implements Runnable { +public class ServerClient implements Runnable, DataSource { private ObjectInputStream in; private ObjectOutputStream out; private final String name; @@ -53,7 +54,7 @@ public class ServerClient implements Runnable { } else { // callback.onDataReceived((Data) this.in.readObject()); System.out.println("[SERVERCLIENT] got data: " + data + ", sending callback"); - callback.onDataReceived(data); + callback.onDataReceived(data, this); } } } catch (IOException e) { diff --git a/core/src/netwerkprog/game/server/controllers/DataController.java b/core/src/netwerkprog/game/server/controllers/DataController.java index 8deb9e0..a5ecf54 100644 --- a/core/src/netwerkprog/game/server/controllers/DataController.java +++ b/core/src/netwerkprog/game/server/controllers/DataController.java @@ -1,9 +1,9 @@ package netwerkprog.game.server.controllers; -import netwerkprog.game.server.ServerClient; import netwerkprog.game.util.data.CharacterData; import netwerkprog.game.util.data.Data; import netwerkprog.game.util.data.DataCallback; +import netwerkprog.game.util.data.DataSource; import netwerkprog.game.util.game.GameCharacter; import java.util.Arrays; @@ -50,7 +50,7 @@ public class DataController implements DataCallback { } @Override - public void onDataReceived(Data data, ServerClient client) { + public void onDataReceived(Data data, DataSource source) { System.out.println("[DATACONTROLLER] got data: " + data); switch (data.getType()) { case "Character" : diff --git a/core/src/netwerkprog/game/util/data/DataCallback.java b/core/src/netwerkprog/game/util/data/DataCallback.java index 250a906..b16f58a 100644 --- a/core/src/netwerkprog/game/util/data/DataCallback.java +++ b/core/src/netwerkprog/game/util/data/DataCallback.java @@ -1,7 +1,5 @@ package netwerkprog.game.util.data; -import netwerkprog.game.server.ServerClient; - public interface DataCallback { - void onDataReceived(Data data, ServerClient client); + void onDataReceived(Data data, DataSource source); } diff --git a/core/src/netwerkprog/game/util/data/DataSource.java b/core/src/netwerkprog/game/util/data/DataSource.java new file mode 100644 index 0000000..5cc8ce6 --- /dev/null +++ b/core/src/netwerkprog/game/util/data/DataSource.java @@ -0,0 +1,5 @@ +package netwerkprog.game.util.data; + +public interface DataSource { + void writeData(Data data); +} diff --git a/core/src/netwerkprog/game/util/data/ParserCallback.java b/core/src/netwerkprog/game/util/data/ParserCallback.java deleted file mode 100644 index 3ce8c27..0000000 --- a/core/src/netwerkprog/game/util/data/ParserCallback.java +++ /dev/null @@ -1,5 +0,0 @@ -package netwerkprog.game.util.data; - -public interface ParserCallback { - void onDataReceived(String data); -}