From: B_Kirill <153602297+B-Kirill@users.noreply.github.com> Date: Sun, 28 Dec 2025 00:57:02 +0000 (+1000) Subject: Fix broken vending machine UI behavior (#42110) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=01e583f500fd9d35f9df5a7b2a2a037169eafd92;p=space-station-14.git Fix broken vending machine UI behavior (#42110) * Fix broken vending machine UI behavior * begone --------- Co-authored-by: beck-thompson --- diff --git a/Content.Server/VendingMachines/VendingMachineSystem.cs b/Content.Server/VendingMachines/VendingMachineSystem.cs index 1fb695ae61..1c28378393 100644 --- a/Content.Server/VendingMachines/VendingMachineSystem.cs +++ b/Content.Server/VendingMachines/VendingMachineSystem.cs @@ -6,11 +6,9 @@ using Content.Server.Vocalization.Systems; using Content.Shared.Cargo; using Content.Shared.Damage; using Content.Shared.Damage.Systems; -using Content.Shared.Destructible; using Content.Shared.Emp; using Content.Shared.Power; using Content.Shared.Throwing; -using Content.Shared.UserInterface; using Content.Shared.VendingMachines; using Content.Shared.Wall; using Robust.Shared.Prototypes; @@ -31,12 +29,10 @@ namespace Content.Server.VendingMachines base.Initialize(); SubscribeLocalEvent(OnPowerChanged); - SubscribeLocalEvent(OnBreak); SubscribeLocalEvent(OnDamageChanged); SubscribeLocalEvent(OnVendingPrice); SubscribeLocalEvent(OnTryVocalize); - SubscribeLocalEvent(OnActivatableUIOpenAttempt); SubscribeLocalEvent(OnSelfDispense); SubscribeLocalEvent(OnPriceCalculation); @@ -70,24 +66,11 @@ namespace Content.Server.VendingMachines } } - private void OnActivatableUIOpenAttempt(EntityUid uid, VendingMachineComponent component, ActivatableUIOpenAttemptEvent args) - { - if (component.Broken) - args.Cancel(); - } - private void OnPowerChanged(EntityUid uid, VendingMachineComponent component, ref PowerChangedEvent args) { TryUpdateVisualState((uid, component)); } - private void OnBreak(EntityUid uid, VendingMachineComponent vendComponent, BreakageEventArgs eventArgs) - { - vendComponent.Broken = true; - Dirty(uid, vendComponent); - TryUpdateVisualState((uid, vendComponent)); - } - private void OnDamageChanged(EntityUid uid, VendingMachineComponent component, DamageChangedEvent args) { if (!args.DamageIncreased && component.Broken) diff --git a/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs b/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs index 610f4d0efe..9dafb17e3c 100644 --- a/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs +++ b/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs @@ -3,6 +3,7 @@ using Content.Shared.Access.Components; using Content.Shared.Access.Systems; using Content.Shared.Advertise.Components; using Content.Shared.Advertise.Systems; +using Content.Shared.Destructible; using Content.Shared.DoAfter; using Content.Shared.Emag.Components; using Content.Shared.Emag.Systems; @@ -10,6 +11,7 @@ using Content.Shared.Emp; using Content.Shared.Interaction; using Content.Shared.Popups; using Content.Shared.Power.EntitySystems; +using Content.Shared.UserInterface; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.GameStates; @@ -43,6 +45,8 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem SubscribeLocalEvent(OnEmagged); SubscribeLocalEvent(OnEmpPulse); SubscribeLocalEvent(OnRestockDoAfter); + SubscribeLocalEvent(OnActivatableUIOpenAttempt); + SubscribeLocalEvent(OnBreak); SubscribeLocalEvent(OnAfterInteract); @@ -425,4 +429,19 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem } } } + + private void OnActivatableUIOpenAttempt(EntityUid uid, VendingMachineComponent component, ActivatableUIOpenAttemptEvent args) + { + if (component.Broken) + args.Cancel(); + } + + private void OnBreak(EntityUid uid, VendingMachineComponent vendComponent, BreakageEventArgs eventArgs) + { + vendComponent.Broken = true; + Dirty(uid, vendComponent); + TryUpdateVisualState((uid, vendComponent)); + + UISystem.CloseUi(uid, VendingMachineUiKey.Key); + } }