Add in-game tooltips for registered / anonymous players.

This commit is contained in:
Paul Chote
2018-07-07 18:42:30 +01:00
committed by abcdefg30
parent 70706ca531
commit 7ec19b82e3
4 changed files with 51 additions and 8 deletions

View File

@@ -9,9 +9,9 @@
*/ */
#endregion #endregion
using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using OpenRA.Graphics;
using OpenRA.Mods.Common.Traits; using OpenRA.Mods.Common.Traits;
using OpenRA.Network; using OpenRA.Network;
using OpenRA.Primitives; using OpenRA.Primitives;
@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class GameInfoStatsLogic : ChromeLogic class GameInfoStatsLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [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 player = world.RenderPlayer ?? world.LocalPlayer;
var playerPanel = widget.Get<ScrollPanelWidget>("PLAYER_LIST"); var playerPanel = widget.Get<ScrollPanelWidget>("PLAYER_LIST");
@@ -87,6 +87,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var pp = p.First; var pp = p.First;
var client = world.LobbyInfo.ClientWithIndex(pp.ClientIndex); var client = world.LobbyInfo.ClientWithIndex(pp.ClientIndex);
var item = playerTemplate.Clone(); var item = playerTemplate.Clone();
LobbyUtils.SetupProfileWidget(item, client, orderManager, worldRenderer);
var nameLabel = item.Get<LabelWidget>("NAME"); var nameLabel = item.Get<LabelWidget>("NAME");
var nameFont = Game.Renderer.Fonts[nameLabel.Font]; var nameFont = Game.Renderer.Fonts[nameLabel.Font];
@@ -136,6 +138,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
foreach (var client in spectators) foreach (var client in spectators)
{ {
var item = playerTemplate.Clone(); var item = playerTemplate.Clone();
LobbyUtils.SetupProfileWidget(item, client, orderManager, worldRenderer);
var nameLabel = item.Get<LabelWidget>("NAME"); var nameLabel = item.Get<LabelWidget>("NAME");
var nameFont = Game.Renderer.Fonts[nameLabel.Font]; var nameFont = Game.Renderer.Fonts[nameLabel.Font];

View File

@@ -83,9 +83,22 @@ Container@SKIRMISH_STATS:
Height: 25 Height: 25
X: 2 X: 2
Children: 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: Label@NAME:
X: 10 X: 29
Width: 210 Width: 191
Height: 25 Height: 25
Shadow: True Shadow: True
Image@FACTIONFLAG: Image@FACTIONFLAG:

View File

@@ -84,9 +84,22 @@ Container@SKIRMISH_STATS:
Height: 25 Height: 25
X: 2 X: 2
Children: 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: Label@NAME:
X: 10 X: 29
Width: 210 Width: 191
Height: 25 Height: 25
Shadow: True Shadow: True
Image@FACTIONFLAG: Image@FACTIONFLAG:

View File

@@ -84,9 +84,22 @@ Container@SKIRMISH_STATS:
Height: 25 Height: 25
X: 2 X: 2
Children: 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: Label@NAME:
X: 10 X: 29
Width: 210 Width: 191
Height: 25 Height: 25
Shadow: True Shadow: True
Image@FACTIONFLAG: Image@FACTIONFLAG: