From 3adf271cfe9a9518e97d060eb6592976f11831d5 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Sun, 7 Jun 2020 15:22:15 +0200 Subject: [PATCH 1/3] MoveData Initial stuff --- .../src/netwerkprog/game/client/MainGame.java | 9 +++++++ .../game/util/data/character/MoveData.java | 27 ++++++++++--------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/core/src/netwerkprog/game/client/MainGame.java b/core/src/netwerkprog/game/client/MainGame.java index 9581f14..0562617 100644 --- a/core/src/netwerkprog/game/client/MainGame.java +++ b/core/src/netwerkprog/game/client/MainGame.java @@ -24,7 +24,9 @@ import netwerkprog.game.client.game.map.GameTile; 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.character.MoveData; import netwerkprog.game.util.data.connection.NameData; +import netwerkprog.game.util.data.connection.ReadyData; import netwerkprog.game.util.data.connection.TeamData; import netwerkprog.game.util.game.Faction; import netwerkprog.game.util.game.GameCharacter; @@ -390,6 +392,13 @@ public class MainGame extends Game implements ClientCallback { if (readyData.getUsername().equals(this.username)) { } + } else if (data instanceof MoveData) { + MoveData moveData = (MoveData) data; + if (moveData.getUsername().equals(this.username)) { + moveData.getTile().visit(); + } else { + moveData.getTile().visit(); + } } } diff --git a/core/src/netwerkprog/game/util/data/character/MoveData.java b/core/src/netwerkprog/game/util/data/character/MoveData.java index 9222796..501c27c 100644 --- a/core/src/netwerkprog/game/util/data/character/MoveData.java +++ b/core/src/netwerkprog/game/util/data/character/MoveData.java @@ -1,29 +1,30 @@ package netwerkprog.game.util.data.character; +import netwerkprog.game.client.game.map.GameTile; import netwerkprog.game.util.data.Data; public class MoveData extends Data { - private final String name; - private final int x; - private final int y; + private final String username; + private final String characterName; + private final GameTile tile; - public MoveData(String name, int x, int y) { + public MoveData(String username, String characterName, GameTile tile) { super("Move"); super.setPayload(this); - this.name = name; - this.x = x; - this.y = y; + this.username = username; + this.characterName = characterName; + this.tile = tile; } - public String getName() { - return name; + public String getUsername() { + return username; } - public int getX() { - return x; + public String getCharacterName() { + return characterName; } - public int getY() { - return y; + public GameTile getTile() { + return tile; } } From 6d22fce2d1574b5257dec53937d625312a98ceeb Mon Sep 17 00:00:00 2001 From: MickWerf Date: Sun, 7 Jun 2020 15:26:02 +0200 Subject: [PATCH 2/3] Move Character communication done --- core/src/netwerkprog/game/client/MainGame.java | 4 ++-- .../netwerkprog/game/client/game/map/GameInputProcessor.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/core/src/netwerkprog/game/client/MainGame.java b/core/src/netwerkprog/game/client/MainGame.java index 79063c3..5e55e37 100644 --- a/core/src/netwerkprog/game/client/MainGame.java +++ b/core/src/netwerkprog/game/client/MainGame.java @@ -396,9 +396,9 @@ public class MainGame extends Game implements ClientCallback { } else if (data instanceof MoveData) { MoveData moveData = (MoveData) data; if (moveData.getUsername().equals(this.username)) { - moveData.getTile().visit(); + moveData.getTile().visit(team.get(moveData.getCharacterName())); } else { - moveData.getTile().visit(); + moveData.getTile().visit(enemyTeam.get(moveData.getCharacterName())); } } diff --git a/core/src/netwerkprog/game/client/game/map/GameInputProcessor.java b/core/src/netwerkprog/game/client/game/map/GameInputProcessor.java index c463a53..baf6e02 100644 --- a/core/src/netwerkprog/game/client/game/map/GameInputProcessor.java +++ b/core/src/netwerkprog/game/client/game/map/GameInputProcessor.java @@ -10,9 +10,7 @@ import com.badlogic.gdx.utils.TimeUtils; import netwerkprog.game.client.MainGame; import netwerkprog.game.client.game.GAMESTATE; import netwerkprog.game.util.data.Data; -import netwerkprog.game.util.data.connection.ReadyData; -import netwerkprog.game.util.data.connection.TeamData; -import netwerkprog.game.util.game.Faction; +import netwerkprog.game.util.data.character.MoveData; import netwerkprog.game.util.game.GameCharacter; import java.util.ArrayList; @@ -182,6 +180,7 @@ public class GameInputProcessor implements InputProcessor { mainGame.setSelectedCharacter(gameTile.getCharacter()); mainGame.mapRenderer.setSurroundedTilesOfCurrentCharacter(col, row); } + mainGame.send(new MoveData(mainGame.getUsername(),mainGame.getSelectedCharacter().getName(),gameTile)); return true; } } From 30b343fc842596c820f1614736727867fc88fab6 Mon Sep 17 00:00:00 2001 From: MickWerf Date: Sun, 7 Jun 2020 15:30:05 +0200 Subject: [PATCH 3/3] Fixed move and implemented Damaging characters --- core/src/netwerkprog/game/client/MainGame.java | 4 ++++ .../game/client/game/map/GameInputProcessor.java | 7 +++---- .../netwerkprog/game/util/data/character/DamageData.java | 4 ++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/core/src/netwerkprog/game/client/MainGame.java b/core/src/netwerkprog/game/client/MainGame.java index 5e55e37..0c799be 100644 --- a/core/src/netwerkprog/game/client/MainGame.java +++ b/core/src/netwerkprog/game/client/MainGame.java @@ -24,6 +24,7 @@ import netwerkprog.game.client.game.map.GameTile; 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.character.DamageData; import netwerkprog.game.util.data.character.MoveData; import netwerkprog.game.util.data.connection.NameData; import netwerkprog.game.util.data.connection.ReadyData; @@ -400,6 +401,9 @@ public class MainGame extends Game implements ClientCallback { } else { moveData.getTile().visit(enemyTeam.get(moveData.getCharacterName())); } + } else if (data instanceof DamageData) { + DamageData damageData = (DamageData) data; + team.get(damageData.getName()).damage(10); } } diff --git a/core/src/netwerkprog/game/client/game/map/GameInputProcessor.java b/core/src/netwerkprog/game/client/game/map/GameInputProcessor.java index baf6e02..c0f0cad 100644 --- a/core/src/netwerkprog/game/client/game/map/GameInputProcessor.java +++ b/core/src/netwerkprog/game/client/game/map/GameInputProcessor.java @@ -9,7 +9,7 @@ import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.utils.TimeUtils; import netwerkprog.game.client.MainGame; import netwerkprog.game.client.game.GAMESTATE; -import netwerkprog.game.util.data.Data; +import netwerkprog.game.util.data.character.DamageData; import netwerkprog.game.util.data.character.MoveData; import netwerkprog.game.util.game.GameCharacter; @@ -154,7 +154,7 @@ public class GameInputProcessor implements InputProcessor { gameTile.visit(mainGame.getSelectedCharacter()); mainGame.mapRenderer.setSurroundedTilesOfCurrentCharacter(col, row); mainGame.increaseTurn(); - mainGame.send(new Data("move")); + mainGame.send(new MoveData(mainGame.getUsername(),mainGame.getSelectedCharacter().getName(),gameTile)); } } // clicking on enemy @@ -162,7 +162,7 @@ public class GameInputProcessor implements InputProcessor { if (mainGame.mapRenderer.getSurroundedTilesOfCurrentCharacter().contains(gameTile)) { gameTile.getCharacter().damage(10); mainGame.increaseTurn(); - + mainGame.send(new DamageData(gameTile.getCharacter().getName())); } } } @@ -180,7 +180,6 @@ public class GameInputProcessor implements InputProcessor { mainGame.setSelectedCharacter(gameTile.getCharacter()); mainGame.mapRenderer.setSurroundedTilesOfCurrentCharacter(col, row); } - mainGame.send(new MoveData(mainGame.getUsername(),mainGame.getSelectedCharacter().getName(),gameTile)); return true; } } diff --git a/core/src/netwerkprog/game/util/data/character/DamageData.java b/core/src/netwerkprog/game/util/data/character/DamageData.java index 211d21f..10867db 100644 --- a/core/src/netwerkprog/game/util/data/character/DamageData.java +++ b/core/src/netwerkprog/game/util/data/character/DamageData.java @@ -10,4 +10,8 @@ public class DamageData extends Data { super.setPayload(this); this.name = name; } + + public String getName() { + return name; + } }