Arcturus-Community/src/main/java/com/eu/habbo/habbohotel/games/GameTeam.java

123 lines
2.1 KiB
Java
Raw Normal View History

2018-07-06 15:30:00 +02:00
package com.eu.habbo.habbohotel.games;
import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.users.Habbo;
import com.eu.habbo.habbohotel.wired.WiredHandler;
import com.eu.habbo.habbohotel.wired.WiredTriggerType;
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;
this.members = new THashSet<GamePlayer>();
}
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;
}
}