2018-07-06 15:30:00 +02:00
|
|
|
package com.eu.habbo.habbohotel.games;
|
|
|
|
|
|
|
|
import com.eu.habbo.habbohotel.users.Habbo;
|
|
|
|
import gnu.trove.set.hash.THashSet;
|
|
|
|
|
|
|
|
public class GameTeam
|
|
|
|
{
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
private final THashSet<GamePlayer> members;
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public final GameTeamColors teamColor;
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
private int teamScore;
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public GameTeam(GameTeamColors teamColor)
|
|
|
|
{
|
|
|
|
this.teamColor = teamColor;
|
|
|
|
|
2018-09-28 21:25:00 +02:00
|
|
|
this.members = new THashSet<>();
|
2018-07-06 15:30:00 +02:00
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public void initialise()
|
|
|
|
{
|
|
|
|
for(GamePlayer player : this.members)
|
|
|
|
{
|
|
|
|
player.reset();
|
|
|
|
}
|
|
|
|
|
|
|
|
this.teamScore = 0;
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public void reset()
|
|
|
|
{
|
|
|
|
this.members.clear();
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public void addTeamScore(int teamScore)
|
|
|
|
{
|
|
|
|
this.teamScore += teamScore;
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public int getTeamScore()
|
|
|
|
{
|
|
|
|
return this.teamScore;
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public synchronized int getTotalScore()
|
|
|
|
{
|
|
|
|
int score = this.teamScore;
|
|
|
|
|
|
|
|
for(GamePlayer player : this.members)
|
|
|
|
{
|
|
|
|
score += player.getScore();
|
|
|
|
}
|
|
|
|
|
|
|
|
return score;
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public void addMember(GamePlayer gamePlayer)
|
|
|
|
{
|
|
|
|
synchronized (this.members)
|
|
|
|
{
|
|
|
|
this.members.add(gamePlayer);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public void removeMember(GamePlayer gamePlayer)
|
|
|
|
{
|
|
|
|
synchronized (this.members)
|
|
|
|
{
|
|
|
|
this.members.remove(gamePlayer);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public THashSet<GamePlayer> getMembers()
|
|
|
|
{
|
|
|
|
return this.members;
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
public boolean isMember(Habbo habbo)
|
|
|
|
{
|
|
|
|
for(GamePlayer p : this.members)
|
|
|
|
{
|
|
|
|
if(p.getHabbo().equals(habbo))
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2018-07-08 23:32:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
@Deprecated
|
|
|
|
public GamePlayer getPlayerForHabbo(Habbo habbo)
|
|
|
|
{
|
|
|
|
for(GamePlayer p : this.members)
|
|
|
|
{
|
|
|
|
if(p.getHabbo().equals(habbo))
|
|
|
|
{
|
|
|
|
return p;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|