package tc.oc.pgm.teams;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TranslatableComponent;
import tc.oc.commons.core.chat.Component;
import tc.oc.pgm.match.Competitor;
import tc.oc.pgm.victory.MatchResult;
import static com.google.common.base.Preconditions.checkNotNull;
/**
* Force the match to end immediately with the given {@link Team} as the exclusive winner.
* Other competitors may be ranked by other conditions, but none will be ahead of this team.
*/
public class TeamResult implements MatchResult {
private TeamFactory team;
public TeamResult(TeamFactory team) {
this.team = checkNotNull(team);
}
@Override
public int compare(Competitor a, Competitor b) {
return Boolean.compare(team.equals(Teams.getDefinition(b)),
team.equals(Teams.getDefinition(a)));
}
@Override
public BaseComponent describeResult() {
return new TranslatableComponent(team.isDefaultNamePlural() ? "broadcast.gameOver.teamWinText.plural"
: "broadcast.gameOver.teamWinText",
new Component(team.getDefaultName(), team.getDefaultColor()));
}
}