Files
tbd-station-14/Content.Server/Power/Components/ExaminableBatteryComponent.cs
E F R b2da936848 Everything: Rich text redux (#5625)
* lord save me

* UI/ChatBox: Use the new `defStyle` param for `RenderMarkup`

The previous iteration didn't work because `AddMessage` can't inherit
its color from the PushColor (since we're not doing actual tag stacks
anymore).

* rebase touchup
2021-12-12 18:25:42 -08:00

42 lines
1.3 KiB
C#

using Content.Shared.Examine;
using Robust.Shared.GameObjects;
using Robust.Shared.Localization;
using Robust.Shared.Utility;
using Robust.Shared.ViewVariables;
using Robust.Shared.Utility.Markup;
namespace Content.Server.Power.Components
{
[RegisterComponent]
#pragma warning disable 618
public class ExaminableBatteryComponent : Component, IExamine
#pragma warning restore 618
{
public override string Name => "ExaminableBattery";
[ViewVariables]
[ComponentDependency] private BatteryComponent? _battery = default!;
void IExamine.Examine(FormattedMessage.Builder message, bool inDetailsRange)
{
if (_battery == null)
return;
if (inDetailsRange)
{
var effectiveMax = _battery.MaxCharge;
if (effectiveMax == 0)
effectiveMax = 1;
var chargeFraction = _battery.CurrentCharge / effectiveMax;
var chargePercentRounded = (int) (chargeFraction * 100);
message.AddMarkup(
Loc.GetString(
"examinable-battery-component-examine-detail",
("percent", chargePercentRounded),
("markupPercentColor", "green")
)
);
}
}
}
}