Merge pull request #6360 from huwpascoe/clientstatus
Player connection status report.
This commit is contained in:
@@ -43,9 +43,15 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
foreach (var p in world.Players.Where(a => !a.NonCombatant))
|
foreach (var p in world.Players.Where(a => !a.NonCombatant))
|
||||||
{
|
{
|
||||||
var pp = p;
|
var pp = p;
|
||||||
|
var client = world.LobbyInfo.ClientWithIndex(pp.ClientIndex);
|
||||||
var item = playerTemplate.Clone();
|
var item = playerTemplate.Clone();
|
||||||
var nameLabel = item.Get<LabelWidget>("NAME");
|
var nameLabel = item.Get<LabelWidget>("NAME");
|
||||||
nameLabel.GetText = () => pp.WinState == WinState.Lost ? pp.PlayerName + " (Dead)" : pp.PlayerName;
|
nameLabel.GetText = () =>
|
||||||
|
{
|
||||||
|
if (client.State == Network.Session.ClientState.Disconnected)
|
||||||
|
return pp.PlayerName + " (Gone)";
|
||||||
|
return pp.PlayerName + (pp.WinState == WinState.Undefined ? "" : " (" + pp.WinState + ")");
|
||||||
|
};
|
||||||
nameLabel.GetColor = () => pp.Color.RGB;
|
nameLabel.GetColor = () => pp.Color.RGB;
|
||||||
|
|
||||||
var flag = item.Get<ImageWidget>("FACTIONFLAG");
|
var flag = item.Get<ImageWidget>("FACTIONFLAG");
|
||||||
@@ -54,7 +60,6 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
item.Get<LabelWidget>("FACTION").GetText = () => pp.Country.Name;
|
item.Get<LabelWidget>("FACTION").GetText = () => pp.Country.Name;
|
||||||
|
|
||||||
var team = item.Get<LabelWidget>("TEAM");
|
var team = item.Get<LabelWidget>("TEAM");
|
||||||
var client = world.LobbyInfo.ClientWithIndex(pp.ClientIndex);
|
|
||||||
var teamNumber = (client == null) ? 0 : client.Team;
|
var teamNumber = (client == null) ? 0 : client.Team;
|
||||||
team.GetText = () => (teamNumber == 0) ? "-" : teamNumber.ToString();
|
team.GetText = () => (teamNumber == 0) ? "-" : teamNumber.ToString();
|
||||||
playerPanel.AddChild(item);
|
playerPanel.AddChild(item);
|
||||||
|
|||||||
@@ -454,7 +454,13 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
flag.GetImageCollection = () => "flags";
|
flag.GetImageCollection = () => "flags";
|
||||||
|
|
||||||
var playerName = template.Get<LabelWidget>("PLAYER");
|
var playerName = template.Get<LabelWidget>("PLAYER");
|
||||||
playerName.GetText = () => player.PlayerName + (player.WinState == WinState.Undefined ? "" : " (" + player.WinState + ")");
|
var client = player.World.LobbyInfo.ClientWithIndex(player.ClientIndex);
|
||||||
|
playerName.GetText = () =>
|
||||||
|
{
|
||||||
|
if (client.State == Network.Session.ClientState.Disconnected)
|
||||||
|
return player.PlayerName + " (Gone)";
|
||||||
|
return player.PlayerName + (player.WinState == WinState.Undefined ? "" : " (" + player.WinState + ")");
|
||||||
|
};
|
||||||
playerName.GetColor = () => player.Color.RGB;
|
playerName.GetColor = () => player.Color.RGB;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user