diff --git a/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs b/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs index b130304afc..86d8da9d3d 100644 --- a/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs +++ b/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs @@ -6,7 +6,7 @@ namespace Content.Shared.Chemistry.Components; /// /// Gives click behavior for transferring to/from other reagent containers. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class SolutionTransferComponent : Component { /// @@ -14,6 +14,7 @@ public sealed partial class SolutionTransferComponent : Component /// [DataField("transferAmount")] [ViewVariables(VVAccess.ReadWrite)] + [AutoNetworkedField] public FixedPoint2 TransferAmount { get; set; } = FixedPoint2.New(5); /// diff --git a/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs b/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs index 93e9765b16..3b75392508 100644 --- a/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs +++ b/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs @@ -38,11 +38,15 @@ public sealed class SolutionTransferSystem : EntitySystem private void OnTransferAmountSetValueMessage(Entity ent, ref TransferAmountSetValueMessage message) { - var newTransferAmount = FixedPoint2.Clamp(message.Value, ent.Comp.MinimumTransferAmount, ent.Comp.MaximumTransferAmount); - ent.Comp.TransferAmount = newTransferAmount; + var (uid, comp) = ent; + + var newTransferAmount = FixedPoint2.Clamp(message.Value, comp.MinimumTransferAmount, comp.MaximumTransferAmount); + comp.TransferAmount = newTransferAmount; if (message.Actor is { Valid: true } user) - _popup.PopupClient(Loc.GetString("comp-solution-transfer-set-amount", ("amount", newTransferAmount)), ent, user); + _popup.PopupEntity(Loc.GetString("comp-solution-transfer-set-amount", ("amount", newTransferAmount)), uid, user); + + Dirty(uid, comp); } private void AddSetTransferVerbs(Entity ent, ref GetVerbsEvent args) @@ -78,7 +82,10 @@ public sealed class SolutionTransferSystem : EntitySystem verb.Act = () => { comp.TransferAmount = amount; + _popup.PopupClient(Loc.GetString("comp-solution-transfer-set-amount", ("amount", amount)), uid, user); + + Dirty(uid, comp); }; // we want to sort by size, not alphabetically by the verb text.