Fix the server browser player count
This commit is contained in:
@@ -105,15 +105,7 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
infoPanel.GetWidget<LabelWidget>("SERVER_IP").GetText = () => currentServer.Address;
|
infoPanel.GetWidget<LabelWidget>("SERVER_IP").GetText = () => currentServer.Address;
|
||||||
infoPanel.GetWidget<LabelWidget>("SERVER_MODS").GetText = () => ServerBrowserDelegate.GenerateModsLabel(currentServer);
|
infoPanel.GetWidget<LabelWidget>("SERVER_MODS").GetText = () => ServerBrowserDelegate.GenerateModsLabel(currentServer);
|
||||||
infoPanel.GetWidget<LabelWidget>("MAP_TITLE").GetText = () => (CurrentMap() != null) ? CurrentMap().Title : "Unknown";
|
infoPanel.GetWidget<LabelWidget>("MAP_TITLE").GetText = () => (CurrentMap() != null) ? CurrentMap().Title : "Unknown";
|
||||||
infoPanel.GetWidget<LabelWidget>("MAP_PLAYERS").GetText = () =>
|
infoPanel.GetWidget<LabelWidget>("MAP_PLAYERS").GetText = () => GetPlayersLabel(currentServer);
|
||||||
{
|
|
||||||
if (currentServer == null)
|
|
||||||
return "";
|
|
||||||
string ret = currentServer.Players.ToString();
|
|
||||||
if (CurrentMap() != null)
|
|
||||||
ret += "/" + CurrentMap().PlayerCount.ToString();
|
|
||||||
return ret;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Master server should be set up *once*
|
// Master server should be set up *once*
|
||||||
if (!masterServerSetup)
|
if (!masterServerSetup)
|
||||||
@@ -123,6 +115,15 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
}
|
}
|
||||||
MasterServerQuery.Refresh(Game.Settings.Server.MasterServer);
|
MasterServerQuery.Refresh(Game.Settings.Server.MasterServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string GetPlayersLabel(GameServer game)
|
||||||
|
{
|
||||||
|
if (game == null)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
var map = GetMap(game.Map);
|
||||||
|
return map == null ? "{0}".F(currentServer.Players) : "{0} / {1}".F(currentServer.Players, map.PlayerCount);
|
||||||
|
}
|
||||||
|
|
||||||
Map CurrentMap()
|
Map CurrentMap()
|
||||||
{
|
{
|
||||||
@@ -169,8 +170,10 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
template.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; currentServer = game; return true; };
|
template.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; currentServer = game; return true; };
|
||||||
template.IsVisible = () => true;
|
template.IsVisible = () => true;
|
||||||
template.GetWidget<LabelWidget>("TITLE").GetText = () => game.Name;
|
template.GetWidget<LabelWidget>("TITLE").GetText = () => game.Name;
|
||||||
|
// TODO: Use game.MapTitle once the server supports it
|
||||||
template.GetWidget<LabelWidget>("MAP").GetText = () => {var map = GetMap(game.Map); return map == null ? "Unknown" : map.Title;};
|
template.GetWidget<LabelWidget>("MAP").GetText = () => {var map = GetMap(game.Map); return map == null ? "Unknown" : map.Title;};
|
||||||
template.GetWidget<LabelWidget>("PLAYERS").GetText = () => "{0} / {1}".F(game.Players, -1);
|
// TODO: Use game.MaxPlayers once the server supports it
|
||||||
|
template.GetWidget<LabelWidget>("PLAYERS").GetText = () => GetPlayersLabel(game);
|
||||||
template.GetWidget<LabelWidget>("IP").GetText = () => game.Address;
|
template.GetWidget<LabelWidget>("IP").GetText = () => game.Address;
|
||||||
sl.AddChild(template);
|
sl.AddChild(template);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user