From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Sun, 12 Mar 2023 12:39:10 +0000 (+0000) Subject: add fuel indicator to ame fuel jar, minor refactor (#14590) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=bf105968e9059dc7ba4d76bc0cc93f9b04179b99;p=space-station-14.git add fuel indicator to ame fuel jar, minor refactor (#14590) Co-authored-by: deltanedas <@deltanedas:kde.org> --- diff --git a/Content.Server/AME/AMESystem.Fuel.cs b/Content.Server/AME/AMESystem.Fuel.cs new file mode 100644 index 0000000000..e2b7cd0a88 --- /dev/null +++ b/Content.Server/AME/AMESystem.Fuel.cs @@ -0,0 +1,28 @@ +using Content.Server.AME.Components; +using Content.Shared.Examine; + +namespace Content.Server.AME; + +/// +/// Adds fuel level info to examine on fuel jars and handles network state. +/// +public sealed partial class AMESystem +{ + private void InitializeFuel() + { + SubscribeLocalEvent(OnFuelExamined); + } + + private void OnFuelExamined(EntityUid uid, AMEFuelContainerComponent comp, ExaminedEvent args) + { + if (!args.IsInDetailsRange) + return; + + // less than 25%: amount < capacity / 4 = amount * 4 < capacity + var low = comp.FuelAmount * 4 < comp.FuelCapacity; + args.PushMarkup(Loc.GetString("ame-fuel-container-component-on-examine-detailed-message", + ("colorName", low ? "darkorange" : "orange"), + ("amount", comp.FuelAmount), + ("capacity", comp.FuelCapacity))); + } +} diff --git a/Content.Server/AME/AntimatterEngineSystem.cs b/Content.Server/AME/AMESystem.cs similarity index 98% rename from Content.Server/AME/AntimatterEngineSystem.cs rename to Content.Server/AME/AMESystem.cs index 3a2bec9751..f2853863a1 100644 --- a/Content.Server/AME/AntimatterEngineSystem.cs +++ b/Content.Server/AME/AMESystem.cs @@ -16,7 +16,7 @@ using JetBrains.Annotations; namespace Content.Server.AME { [UsedImplicitly] - public sealed class AntimatterEngineSystem : EntitySystem + public sealed partial class AMESystem : EntitySystem { [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly PopupSystem _popupSystem = default!; @@ -29,9 +29,12 @@ namespace Content.Server.AME public override void Initialize() { base.Initialize(); + SubscribeLocalEvent(OnAMEPowerChange); SubscribeLocalEvent(OnInteractUsing); SubscribeLocalEvent(OnPartInteractUsing); + + InitializeFuel(); } public override void Update(float frameTime) diff --git a/Content.Server/AME/Components/AMEFuelContainerComponent.cs b/Content.Server/AME/Components/AMEFuelContainerComponent.cs index bdebf37cd3..e3ef04fb26 100644 --- a/Content.Server/AME/Components/AMEFuelContainerComponent.cs +++ b/Content.Server/AME/Components/AMEFuelContainerComponent.cs @@ -1,37 +1,18 @@ -namespace Content.Server.AME.Components -{ - [RegisterComponent] - public sealed class AMEFuelContainerComponent : Component - { - private int _fuelAmount; - private int _maxFuelAmount; - - /// - /// The amount of fuel in the jar. - /// - [ViewVariables(VVAccess.ReadWrite)] - public int FuelAmount - { - get => _fuelAmount; - set => _fuelAmount = value; - } +namespace Content.Server.AME.Components; - /// - /// The maximum fuel capacity of the jar. - /// - [ViewVariables(VVAccess.ReadWrite)] - public int MaxFuelAmount - { - get => _maxFuelAmount; - set => _maxFuelAmount = value; - } - - protected override void Initialize() - { - base.Initialize(); - _maxFuelAmount = 1000; - _fuelAmount = 1000; - } +// TODO: network and put in shared +[RegisterComponent] +public sealed class AMEFuelContainerComponent : Component +{ + /// + /// The amount of fuel in the jar. + /// + [ViewVariables(VVAccess.ReadWrite), DataField("fuelAmount")] + public int FuelAmount = 1000; - } + /// + /// The maximum fuel capacity of the jar. + /// + [ViewVariables(VVAccess.ReadWrite), DataField("fuelCapacity")] + public int FuelCapacity = 1000; } diff --git a/Resources/Locale/en-US/ame/components/ame-fuel-container-component.ftl b/Resources/Locale/en-US/ame/components/ame-fuel-container-component.ftl new file mode 100644 index 0000000000..c82b08691d --- /dev/null +++ b/Resources/Locale/en-US/ame/components/ame-fuel-container-component.ftl @@ -0,0 +1 @@ +ame-fuel-container-component-on-examine-detailed-message = Fuel: [color={$colorName}]{$amount}/{$capacity}[/color]