Add tooltips for the power and cash displays.

This commit is contained in:
Paul Chote
2014-07-17 18:51:38 +12:00
parent f7f01cc08e
commit 7c9223caea
5 changed files with 91 additions and 28 deletions

View File

@@ -11,7 +11,7 @@
using OpenRA.Traits;
using OpenRA.Widgets;
namespace OpenRA.Mods.Cnc.Widgets.Logic
namespace OpenRA.Mods.RA.Widgets.Logic
{
public class IngameCashCounterLogic
{
@@ -19,10 +19,11 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
public IngameCashCounterLogic(Widget widget, World world)
{
var playerResources = world.LocalPlayer.PlayerActor.Trait<PlayerResources>();
var cash = widget.Get<LabelWidget>("CASH");
var cash = widget.Get<LabelWithTooltipWidget>("CASH");
var label = cash.Text;
cash.GetText = () => label.F(playerResources.DisplayCash + playerResources.DisplayResources);
cash.GetTooltipText = () => "Silo Usage: {0}/{1}".F(playerResources.Resources, playerResources.ResourceCapacity);
}
}
}

View File

@@ -8,9 +8,7 @@
*/
#endregion
using System.Drawing;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Network;
using OpenRA.Widgets;
namespace OpenRA.Mods.RA.Widgets.Logic
@@ -18,15 +16,13 @@ namespace OpenRA.Mods.RA.Widgets.Logic
public class IngamePowerCounterLogic
{
[ObjectCreator.UseCtor]
public IngamePowerCounterLogic(Widget widget, OrderManager orderManager, World world)
public IngamePowerCounterLogic(Widget widget, World world)
{
var powerManager = world.LocalPlayer.PlayerActor.Trait<PowerManager>();
var power = widget.Get<LabelWidget>("POWER");
var power = widget.Get<LabelWithTooltipWidget>("POWER");
power.GetText = () => powerManager.PowerProvided == 1000000 ? "inf" : powerManager.ExcessPower.ToString("+#;-#;0");
// Blink red when low power
power.GetColor = () => powerManager.ExcessPower < 0 && orderManager.LocalFrameNumber / 9 % 2 == 0 ? Color.Red : power.TextColor;
power.GetText = () => powerManager.PowerProvided == 1000000 ? "inf" : powerManager.ExcessPower.ToString();
power.GetTooltipText = () => "Power Usage: " + powerManager.PowerDrained.ToString() + (powerManager.PowerProvided != 1000000 ? "/" + powerManager.PowerProvided.ToString() : "");
}
}
}