Improve replay metadata and the replay browser
List of changes: * Better and more filters with new layout, for both mods. * Rename/Delete/Detele all functionality. * Simplified ReplayMetadata class considerably by introducing a new GameInformation data object. The new GameInformation class contains more information than previously available so the new solution is not compatible with old replays, meaning it can't read old replays. * Better and cleaner game information gathering in order to be written at the end of the replay file. * Revert changes to ReplayConnection, no longer necessary. * Better exception message on missing sprites and fonts. * New "SpawnOccupant" class that holds all the information needed by the MapPreviewWidget to visualize a spawn point. It was using Session.Client before and it was necessary to separate it to be able to show information not available at lobby time. * Fix keyboard focus UI bug when closing a window would not remove focus.
This commit is contained in:
@@ -38,10 +38,10 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
|
||||
tooltipContainer.BeforeRender = () =>
|
||||
{
|
||||
var client = preview.SpawnClients().Values.FirstOrDefault(c => c.SpawnPoint == preview.TooltipSpawnIndex);
|
||||
var occupant = preview.SpawnOccupants().Values.FirstOrDefault(c => c.SpawnPoint == preview.TooltipSpawnIndex);
|
||||
|
||||
var teamWidth = 0;
|
||||
if (client == null)
|
||||
if (occupant == null)
|
||||
{
|
||||
labelText = "Available spawn";
|
||||
playerCountry = null;
|
||||
@@ -50,9 +50,9 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
}
|
||||
else
|
||||
{
|
||||
labelText = client.Name;
|
||||
playerCountry = client.Country;
|
||||
playerTeam = client.Team;
|
||||
labelText = occupant.PlayerName;
|
||||
playerCountry = occupant.Country;
|
||||
playerTeam = occupant.Team;
|
||||
widget.Bounds.Height = playerTeam > 0 ? doubleHeight : singleHeight;
|
||||
teamWidth = teamFont.Measure(team.GetText()).X;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user