From 7ec19b82e3fbec051a5581200f39feb8d57a4b9b Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sat, 7 Jul 2018 18:42:30 +0100 Subject: [PATCH] Add in-game tooltips for registered / anonymous players. --- .../Widgets/Logic/Ingame/GameInfoStatsLogic.cs | 8 ++++++-- mods/cnc/chrome/ingame-infostats.yaml | 17 +++++++++++++++-- mods/common/chrome/ingame-infostats.yaml | 17 +++++++++++++++-- mods/d2k/chrome/ingame-infostats.yaml | 17 +++++++++++++++-- 4 files changed, 51 insertions(+), 8 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Ingame/GameInfoStatsLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Ingame/GameInfoStatsLogic.cs index 7865fa2078..c123d78f65 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Ingame/GameInfoStatsLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Ingame/GameInfoStatsLogic.cs @@ -9,9 +9,9 @@ */ #endregion -using System.Collections.Generic; using System.Drawing; using System.Linq; +using OpenRA.Graphics; using OpenRA.Mods.Common.Traits; using OpenRA.Network; using OpenRA.Primitives; @@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic class GameInfoStatsLogic : ChromeLogic { [ObjectCreator.UseCtor] - public GameInfoStatsLogic(Widget widget, World world, OrderManager orderManager) + public GameInfoStatsLogic(Widget widget, World world, OrderManager orderManager, WorldRenderer worldRenderer) { var player = world.RenderPlayer ?? world.LocalPlayer; var playerPanel = widget.Get("PLAYER_LIST"); @@ -87,6 +87,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic var pp = p.First; var client = world.LobbyInfo.ClientWithIndex(pp.ClientIndex); var item = playerTemplate.Clone(); + LobbyUtils.SetupProfileWidget(item, client, orderManager, worldRenderer); + var nameLabel = item.Get("NAME"); var nameFont = Game.Renderer.Fonts[nameLabel.Font]; @@ -136,6 +138,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic foreach (var client in spectators) { var item = playerTemplate.Clone(); + LobbyUtils.SetupProfileWidget(item, client, orderManager, worldRenderer); + var nameLabel = item.Get("NAME"); var nameFont = Game.Renderer.Fonts[nameLabel.Font]; diff --git a/mods/cnc/chrome/ingame-infostats.yaml b/mods/cnc/chrome/ingame-infostats.yaml index e664816e44..7343ce30ce 100644 --- a/mods/cnc/chrome/ingame-infostats.yaml +++ b/mods/cnc/chrome/ingame-infostats.yaml @@ -83,9 +83,22 @@ Container@SKIRMISH_STATS: Height: 25 X: 2 Children: + Image@PROFILE: + ImageCollection: lobby-bits + X: 8 + Y: 4 + Visible: false + ClientTooltipRegion@PROFILE_TOOLTIP: + X: 8 + Y: 4 + Width: 16 + Height: 16 + Visible: false + TooltipContainer: TOOLTIP_CONTAINER + Template: ANONYMOUS_PLAYER_TOOLTIP Label@NAME: - X: 10 - Width: 210 + X: 29 + Width: 191 Height: 25 Shadow: True Image@FACTIONFLAG: diff --git a/mods/common/chrome/ingame-infostats.yaml b/mods/common/chrome/ingame-infostats.yaml index 61e8b524bd..152153b13f 100644 --- a/mods/common/chrome/ingame-infostats.yaml +++ b/mods/common/chrome/ingame-infostats.yaml @@ -84,9 +84,22 @@ Container@SKIRMISH_STATS: Height: 25 X: 2 Children: + Image@PROFILE: + ImageCollection: lobby-bits + X: 8 + Y: 4 + Visible: false + ClientTooltipRegion@PROFILE_TOOLTIP: + X: 8 + Y: 4 + Width: 16 + Height: 16 + Visible: false + TooltipContainer: TOOLTIP_CONTAINER + Template: ANONYMOUS_PLAYER_TOOLTIP Label@NAME: - X: 10 - Width: 210 + X: 29 + Width: 191 Height: 25 Shadow: True Image@FACTIONFLAG: diff --git a/mods/d2k/chrome/ingame-infostats.yaml b/mods/d2k/chrome/ingame-infostats.yaml index 61e8b524bd..152153b13f 100644 --- a/mods/d2k/chrome/ingame-infostats.yaml +++ b/mods/d2k/chrome/ingame-infostats.yaml @@ -84,9 +84,22 @@ Container@SKIRMISH_STATS: Height: 25 X: 2 Children: + Image@PROFILE: + ImageCollection: lobby-bits + X: 8 + Y: 4 + Visible: false + ClientTooltipRegion@PROFILE_TOOLTIP: + X: 8 + Y: 4 + Width: 16 + Height: 16 + Visible: false + TooltipContainer: TOOLTIP_CONTAINER + Template: ANONYMOUS_PLAYER_TOOLTIP Label@NAME: - X: 10 - Width: 210 + X: 29 + Width: 191 Height: 25 Shadow: True Image@FACTIONFLAG: