Make lobby names dynamic, incase players don't have maps
This commit is contained in:
@@ -751,7 +751,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LobbyUtils.SetupNameWidget(template, client, orderManager, worldRenderer);
|
LobbyUtils.SetupNameWidget(template, client, orderManager, worldRenderer, map);
|
||||||
LobbyUtils.SetupTeamWidget(template, client);
|
LobbyUtils.SetupTeamWidget(template, client);
|
||||||
LobbyUtils.SetupHandicapWidget(template, client);
|
LobbyUtils.SetupHandicapWidget(template, client);
|
||||||
LobbyUtils.SetupSpawnWidget(template, client);
|
LobbyUtils.SetupSpawnWidget(template, client);
|
||||||
@@ -803,7 +803,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
LobbyUtils.SetupPlayerActionWidget(template, client, orderManager, worldRenderer,
|
LobbyUtils.SetupPlayerActionWidget(template, client, orderManager, worldRenderer,
|
||||||
lobby, () => panel = PanelType.Kick, () => panel = PanelType.Players);
|
lobby, () => panel = PanelType.Kick, () => panel = PanelType.Players);
|
||||||
else
|
else
|
||||||
LobbyUtils.SetupNameWidget(template, client, orderManager, worldRenderer);
|
LobbyUtils.SetupNameWidget(template, client, orderManager, worldRenderer, map);
|
||||||
|
|
||||||
if (client.IsAdmin)
|
if (client.IsAdmin)
|
||||||
LobbyUtils.SetupReadyWidget(template, client);
|
LobbyUtils.SetupReadyWidget(template, client);
|
||||||
|
|||||||
@@ -425,14 +425,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
HideChildWidget(parent, "SLOT_OPTIONS");
|
HideChildWidget(parent, "SLOT_OPTIONS");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetupNameWidget(Widget parent, Session.Client c, OrderManager orderManager, WorldRenderer worldRenderer)
|
public static void SetupNameWidget(Widget parent, Session.Client c, OrderManager orderManager, WorldRenderer worldRenderer, MapPreview map)
|
||||||
{
|
{
|
||||||
var label = parent.Get<LabelWidget>("NAME");
|
var label = parent.Get<LabelWidget>("NAME");
|
||||||
label.IsVisible = () => true;
|
label.IsVisible = () => true;
|
||||||
var font = Game.Renderer.Fonts[label.Font];
|
var font = Game.Renderer.Fonts[label.Font];
|
||||||
var name = c.IsBot ? FluentProvider.GetMessage(c.Name) : c.Name;
|
|
||||||
var text = WidgetUtils.TruncateText(name, label.Bounds.Width, font);
|
var clientName = new CachedTransform<MapStatus, string>(s =>
|
||||||
label.GetText = () => text;
|
WidgetUtils.TruncateText(c.IsBot ? map.GetMessage(c.Name) : c.Name, label.Bounds.Width, font));
|
||||||
|
|
||||||
|
label.GetText = () => clientName.Update(map.Status);
|
||||||
|
|
||||||
SetupProfileWidget(parent, c, orderManager, worldRenderer);
|
SetupProfileWidget(parent, c, orderManager, worldRenderer);
|
||||||
}
|
}
|
||||||
@@ -450,9 +452,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
|
|
||||||
var closed = FluentProvider.GetMessage(Closed);
|
var closed = FluentProvider.GetMessage(Closed);
|
||||||
var open = FluentProvider.GetMessage(Open);
|
var open = FluentProvider.GetMessage(Open);
|
||||||
|
|
||||||
|
var clientName = new CachedTransform<MapStatus, string>(s => c.IsBot ? map.GetMessage(c.Name) : c.Name);
|
||||||
slot.GetText = () => truncated.Update(c != null ?
|
slot.GetText = () => truncated.Update(c != null ?
|
||||||
c.IsBot ? map.GetMessage(c.Name) : c.Name
|
clientName.Update(map.Status)
|
||||||
: s.Closed ? closed : open);
|
: s.Closed ? closed : open);
|
||||||
|
|
||||||
slot.OnMouseDown = _ => ShowSlotDropDown(slot, s, c, orderManager, map, modData);
|
slot.OnMouseDown = _ => ShowSlotDropDown(slot, s, c, orderManager, map, modData);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user