/*
* IDK Game Server by Steve Winfield
* https://github.com/WinfieldSteve
*/
package org.stevewinfield.suja.idk.game.rooms;
import java.util.concurrent.ConcurrentHashMap;
public class GameTeam {
public ConcurrentHashMap<Integer, RoomPlayer> getPlayers() {
return players;
}
public RoomItem getGate() {
return gate;
}
public int getPoints() {
return points;
}
public int getId() {
return id;
}
public RoomItem getScoreboard() {
return scoreBoard;
}
public GameTeam(final int id, final RoomItem gate, final RoomItem scoreBoard) {
this.id = id;
this.players = new ConcurrentHashMap<>();
this.gate = gate;
this.scoreBoard = scoreBoard;
}
public void onPointReceived(final int points) {
if (scoreBoard == null) {
return;
}
scoreBoard.setFlags((this.points += points) + "");
scoreBoard.update(false, true);
}
public void resetScore() {
this.points = 0;
if (this.scoreBoard != null) {
this.scoreBoard.setFlags(points + "");
this.scoreBoard.update(false, true);
}
}
public void addPlayer(final RoomPlayer player) {
this.players.put(player.getVirtualId(), player);
}
public void removePlayer(final RoomPlayer player) {
this.players.remove(player.getVirtualId());
}
public void setGate(final RoomItem item) {
this.gate = item;
}
public void setScoreBoard(final RoomItem item) {
this.scoreBoard = item;
}
private final int id;
private final ConcurrentHashMap<Integer, RoomPlayer> players;
private RoomItem gate;
private RoomItem scoreBoard;
private int points;
}