Skip to content

Commit

Permalink
display admin and latency indicator in-game
Browse files Browse the repository at this point in the history
Closes OpenRA#2281
Closes OpenRA#4577
  • Loading branch information
Mailaender committed Oct 12, 2014
1 parent a21544f commit 649f288
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 5 deletions.
22 changes: 19 additions & 3 deletions OpenRA.Mods.RA/Widgets/Logic/Ingame/GameInfoStatsLogic.cs
Expand Up @@ -11,16 +11,17 @@
using System;
using System.Drawing;
using System.Linq;
using OpenRA.Widgets;
using OpenRA.Traits;
using OpenRA.Mods.RA;
using OpenRA.Network;
using OpenRA.Traits;
using OpenRA.Widgets;

namespace OpenRA.Mods.RA.Widgets.Logic
{
class GameInfoStatsLogic
{
[ObjectCreator.UseCtor]
public GameInfoStatsLogic(Widget widget, World world)
public GameInfoStatsLogic(Widget widget, World world, OrderManager orderManager)
{
var lp = world.LocalPlayer;

Expand All @@ -44,7 +45,22 @@ public GameInfoStatsLogic(Widget widget, World world)
{
var pp = p;
var client = world.LobbyInfo.ClientWithIndex(pp.ClientIndex);

var item = playerTemplate.Clone();

item.Get("ADMIN_INDICATOR").IsVisible = () => client.IsAdmin;
var block = item.Get("LATENCY");
var visible = client.Bot == null;
block.IsVisible = () => visible;

if (visible)
block.Get<ColorBlockWidget>("LATENCY_COLOR").GetColor = () =>
LobbyUtils.LatencyColor(orderManager.LobbyInfo.PingFromClient(client));

var tooltip = item.Get<ClientTooltipRegionWidget>("CLIENT_REGION");
tooltip.IsVisible = () => visible;
tooltip.Bind(orderManager, client.Index);

var nameLabel = item.Get<LabelWidget>("NAME");
nameLabel.GetText = () =>
{
Expand Down
25 changes: 24 additions & 1 deletion mods/cnc/chrome/ingame-infostats.yaml
Expand Up @@ -77,8 +77,30 @@ Container@SKIRMISH_STATS:
X: 2
Y: 0
Children:
Image@ADMIN_INDICATOR:
ImageCollection: lobby-bits
ImageName: admin
X: 2
Visible: false
Container@LATENCY:
X: 0
Y: 6
Width: 11
Height: 14
Visible: false
Children:
ColorBlock@LATENCY_COLOR:
X: 2
Y: 2
Width: PARENT_RIGHT-4
Height: PARENT_BOTTOM-4
ClientTooltipRegion@CLIENT_REGION:
TooltipContainer: TOOLTIP_CONTAINER
Template: CLIENT_TOOLTIP
Width: 11
Height: 25
Label@NAME:
X: 10
X: 12
Width: 150
Height: 25
Image@FACTIONFLAG:
Expand All @@ -105,4 +127,5 @@ Container@SKIRMISH_STATS:
Width: 70
Height: 25
Align: Center
TooltipContainer@TOOLTIP_CONTAINER:

25 changes: 24 additions & 1 deletion mods/ra/chrome/ingame-infostats.yaml
Expand Up @@ -77,8 +77,30 @@ Container@SKIRMISH_STATS:
X: 2
Y: 0
Children:
Image@ADMIN_INDICATOR:
ImageCollection: lobby-bits
ImageName: admin
X: 2
Visible: false
Container@LATENCY:
X: 0
Y: 6
Width: 11
Height: 14
Visible: false
Children:
ColorBlock@LATENCY_COLOR:
X: 2
Y: 2
Width: PARENT_RIGHT-4
Height: PARENT_BOTTOM-4
ClientTooltipRegion@CLIENT_REGION:
TooltipContainer: TOOLTIP_CONTAINER
Template: CLIENT_TOOLTIP
Width: 11
Height: 25
Label@NAME:
X: 10
X: 12
Width: 150
Height: 25
Image@FACTIONFLAG:
Expand All @@ -105,4 +127,5 @@ Container@SKIRMISH_STATS:
Width: 70
Height: 25
Align: Center
TooltipContainer@TOOLTIP_CONTAINER:

0 comments on commit 649f288

Please sign in to comment.