Content/Atmos: add status info to binary devices' examine text (#4928)
This commit is contained in:
@@ -4,9 +4,11 @@ using Content.Server.NodeContainer;
|
|||||||
using Content.Server.NodeContainer.Nodes;
|
using Content.Server.NodeContainer.Nodes;
|
||||||
using Content.Shared.Atmos;
|
using Content.Shared.Atmos;
|
||||||
using Content.Shared.Atmos.Piping;
|
using Content.Shared.Atmos.Piping;
|
||||||
|
using Content.Shared.Examine;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Server.GameObjects;
|
using Robust.Server.GameObjects;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.Localization;
|
||||||
using Robust.Shared.Maths;
|
using Robust.Shared.Maths;
|
||||||
|
|
||||||
namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
||||||
@@ -20,6 +22,19 @@ namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
|||||||
|
|
||||||
SubscribeLocalEvent<GasPressurePumpComponent, AtmosDeviceUpdateEvent>(OnPumpUpdated);
|
SubscribeLocalEvent<GasPressurePumpComponent, AtmosDeviceUpdateEvent>(OnPumpUpdated);
|
||||||
SubscribeLocalEvent<GasPressurePumpComponent, AtmosDeviceDisabledEvent>(OnPumpLeaveAtmosphere);
|
SubscribeLocalEvent<GasPressurePumpComponent, AtmosDeviceDisabledEvent>(OnPumpLeaveAtmosphere);
|
||||||
|
SubscribeLocalEvent<GasPressurePumpComponent, ExaminedEvent>(OnExamined);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnExamined(EntityUid uid, GasPressurePumpComponent pump, ExaminedEvent args)
|
||||||
|
{
|
||||||
|
if (!pump.Owner.Transform.Anchored || !args.IsInDetailsRange) // Not anchored? Out of range? No status.
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (Loc.TryGetString("gas-pressure-pump-system-examined", out var str,
|
||||||
|
("statusColor", "lightblue"), // TODO: change with pressure?
|
||||||
|
("pressure", pump.TargetPressure)
|
||||||
|
))
|
||||||
|
args.PushMarkup(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnPumpUpdated(EntityUid uid, GasPressurePumpComponent pump, AtmosDeviceUpdateEvent args)
|
private void OnPumpUpdated(EntityUid uid, GasPressurePumpComponent pump, AtmosDeviceUpdateEvent args)
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ using Content.Server.NodeContainer;
|
|||||||
using Content.Server.NodeContainer.Nodes;
|
using Content.Server.NodeContainer.Nodes;
|
||||||
using Content.Shared.ActionBlocker;
|
using Content.Shared.ActionBlocker;
|
||||||
using Content.Shared.Atmos.Piping;
|
using Content.Shared.Atmos.Piping;
|
||||||
|
using Content.Shared.Examine;
|
||||||
using Content.Shared.Interaction;
|
using Content.Shared.Interaction;
|
||||||
using Content.Shared.Interaction.Helpers;
|
using Content.Shared.Interaction.Helpers;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Server.GameObjects;
|
using Robust.Server.GameObjects;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.Localization;
|
||||||
|
|
||||||
namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
||||||
{
|
{
|
||||||
@@ -20,6 +22,19 @@ namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
|||||||
|
|
||||||
SubscribeLocalEvent<GasValveComponent, ComponentStartup>(OnStartup);
|
SubscribeLocalEvent<GasValveComponent, ComponentStartup>(OnStartup);
|
||||||
SubscribeLocalEvent<GasValveComponent, ActivateInWorldEvent>(OnActivate);
|
SubscribeLocalEvent<GasValveComponent, ActivateInWorldEvent>(OnActivate);
|
||||||
|
SubscribeLocalEvent<GasValveComponent, ExaminedEvent>(OnExamined);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnExamined(EntityUid uid, GasValveComponent valve, ExaminedEvent args)
|
||||||
|
{
|
||||||
|
if (!valve.Owner.Transform.Anchored || !args.IsInDetailsRange) // Not anchored? Out of range? No status.
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (Loc.TryGetString("gas-valve-system-examined", out var str,
|
||||||
|
("statusColor", valve.Open ? "green" : "orange"),
|
||||||
|
("open", valve.Open)
|
||||||
|
))
|
||||||
|
args.PushMarkup(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnStartup(EntityUid uid, GasValveComponent component, ComponentStartup args)
|
private void OnStartup(EntityUid uid, GasValveComponent component, ComponentStartup args)
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ using Content.Server.Atmos.Piping.Binary.Components;
|
|||||||
using Content.Server.Atmos.Piping.Components;
|
using Content.Server.Atmos.Piping.Components;
|
||||||
using Content.Server.NodeContainer;
|
using Content.Server.NodeContainer;
|
||||||
using Content.Server.NodeContainer.Nodes;
|
using Content.Server.NodeContainer.Nodes;
|
||||||
|
using Content.Shared.Examine;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.IoC;
|
using Robust.Shared.IoC;
|
||||||
|
using Robust.Shared.Localization;
|
||||||
using Robust.Shared.Timing;
|
using Robust.Shared.Timing;
|
||||||
|
|
||||||
namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
||||||
@@ -21,6 +23,19 @@ namespace Content.Server.Atmos.Piping.Binary.EntitySystems
|
|||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<GasVolumePumpComponent, AtmosDeviceUpdateEvent>(OnVolumePumpUpdated);
|
SubscribeLocalEvent<GasVolumePumpComponent, AtmosDeviceUpdateEvent>(OnVolumePumpUpdated);
|
||||||
|
SubscribeLocalEvent<GasVolumePumpComponent, ExaminedEvent>(OnExamined);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnExamined(EntityUid uid, GasVolumePumpComponent pump, ExaminedEvent args)
|
||||||
|
{
|
||||||
|
if (!pump.Owner.Transform.Anchored || !args.IsInDetailsRange) // Not anchored? Out of range? No status.
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (Loc.TryGetString("gas-volume-pump-system-examined", out var str,
|
||||||
|
("statusColor", "lightblue"), // TODO: change with volume?
|
||||||
|
("rate", pump.TransferRate)
|
||||||
|
))
|
||||||
|
args.PushMarkup(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnVolumePumpUpdated(EntityUid uid, GasVolumePumpComponent pump, AtmosDeviceUpdateEvent args)
|
private void OnVolumePumpUpdated(EntityUid uid, GasVolumePumpComponent pump, AtmosDeviceUpdateEvent args)
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# Examine Text
|
||||||
|
gas-pressure-pump-system-examined = The pump is set to [color={$statusColor}]{PRESSURE($pressure)}[/color].
|
||||||
5
Resources/Locale/en-US/atmos/gas-valve-system.ftl
Normal file
5
Resources/Locale/en-US/atmos/gas-valve-system.ftl
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Examine Text
|
||||||
|
gas-valve-system-examined = The valve is [color={$statusColor}]{$open ->
|
||||||
|
[true] open
|
||||||
|
*[false] closed
|
||||||
|
}[/color].
|
||||||
2
Resources/Locale/en-US/atmos/gas-volume-pump-system.ftl
Normal file
2
Resources/Locale/en-US/atmos/gas-volume-pump-system.ftl
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Examine Text
|
||||||
|
gas-volume-pump-system-examined = The pump is set to [color={$statusColor}]{$rate} liters/sec[/color].
|
||||||
Reference in New Issue
Block a user