diff --git a/core/src/netwerkprog/game/client/MainGame.java b/core/src/netwerkprog/game/client/MainGame.java index 468c313..65e9ced 100644 --- a/core/src/netwerkprog/game/client/MainGame.java +++ b/core/src/netwerkprog/game/client/MainGame.java @@ -99,6 +99,7 @@ public class MainGame extends ApplicationAdapter { mapRenderer.getGameTiles()[1][1].visit(testCharacter); mapRenderer.getGameTiles()[1][2].visit(character2); this.team = new Team(); + this.team.addMember(this.testCharacter, character2); } @@ -192,4 +193,8 @@ public class MainGame extends ApplicationAdapter { public boolean hasCharacterSelected() { return selectedCharacter != null; } + + public Team getTeam() { + return team; + } } diff --git a/core/src/netwerkprog/game/client/game/characters/Team.java b/core/src/netwerkprog/game/client/game/characters/Team.java index fc811ba..a38c2f4 100644 --- a/core/src/netwerkprog/game/client/game/characters/Team.java +++ b/core/src/netwerkprog/game/client/game/characters/Team.java @@ -30,6 +30,12 @@ public class Team { this.members = members; } + public void addMember(GameCharacter... characters) { + for (GameCharacter gameCharacter : characters) { + this.members.insert(gameCharacter); + } + } + public GameCharacter get(GameCharacter character) { for (GameCharacter cur : this.members) { if (cur.equals(character)) { diff --git a/core/src/netwerkprog/game/util/game/GameCharacter.java b/core/src/netwerkprog/game/util/game/GameCharacter.java index 64c63ca..90a18e5 100644 --- a/core/src/netwerkprog/game/util/game/GameCharacter.java +++ b/core/src/netwerkprog/game/util/game/GameCharacter.java @@ -17,6 +17,7 @@ public abstract class GameCharacter extends Actor implements Comparable abilities; protected boolean override; protected TextureRegion textureRegion; + protected int health; public GameCharacter(String name, Faction faction, TextureRegion textureRegion, Ability... abilities) { super(); @@ -25,6 +26,7 @@ public abstract class GameCharacter extends Actor implements Comparable(Arrays.asList(abilities)); this.override = false; this.textureRegion = textureRegion; + this.health = 100; } public String getName() { @@ -39,6 +41,28 @@ public abstract class GameCharacter extends Actor implements Comparable 100) this.health = 100; + } + + public void damage(int amount) { + this.health -= amount; + if (this.health < 0) this. health = 0; + } + + public boolean isDead() { + return this.health <= 0; + } + public void changeControl() { this.override = !this.override; }