package com.metazion.jgd.info; import com.metazion.jgd.def.ServerBean; import com.metazion.jgd.util.JgdLogger; public class ServerInfo { public ServerBean serverBean = new ServerBean(); public String host = ""; public int port = 0; public int crowdThreshold = 0; public int fullThreshold = 0; public int playerNumber = 0; public void onIncreased() { final int newPlayerNumber = Math.max(playerNumber + 1, 0); onChanged(host, port, crowdThreshold, fullThreshold, newPlayerNumber); } public void onDecreased() { final int newPlayerNumber = Math.max(playerNumber - 1, 0); onChanged(host, port, crowdThreshold, fullThreshold, newPlayerNumber); } public void onChanged(String host, int port, int crowdThreshold, int fullThreshold, int playerNumber) { this.host = host; this.port = port; this.crowdThreshold = crowdThreshold; this.fullThreshold = fullThreshold; this.playerNumber = playerNumber; if (playerNumber >= fullThreshold) { serverBean.status = ServerBean.STATUS_FULL; } else if (playerNumber >= crowdThreshold) { serverBean.status = ServerBean.STATUS_CROWD; } else { serverBean.status = ServerBean.STATUS_NORMAL; } JgdLogger.getLogger().info("Server info id[{}] name[{}] status[{}] host[{}] port[{}] crowd threshold[{}] full threshold[{}] player number[{}]", serverBean.id, serverBean.name, serverBean.status, host, port, crowdThreshold, fullThreshold, playerNumber); } }