Deprecate IActionBlocker in favour of cancellable events (#4193)

* Deprecate IActionBlocker in favour of cancellable events

* Bring back old speech/emoting component restrictions

* Rename action blocker listener methods

* Use Entity System public methods instead of extension methods

Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
This commit is contained in:
DrSmugleaf
2021-06-19 10:03:24 +02:00
committed by GitHub
parent e1e54e9cb1
commit 9b8185db23
98 changed files with 673 additions and 365 deletions

View File

@@ -2,7 +2,7 @@
using Content.Shared.Chemistry.Reagent;
using Content.Shared.Chemistry.Solution.Components;
using Content.Shared.DragDrop;
using Content.Shared.Notification;
using Content.Shared.Interaction.Events;
using Content.Shared.Notification.Managers;
using Content.Shared.Verbs;
using Robust.Shared.GameObjects;
@@ -23,7 +23,7 @@ namespace Content.Server.Fluids.Components
{
protected override void GetData(IEntity user, SpillableComponent component, VerbData data)
{
if (!ActionBlockerSystem.CanInteract(user) ||
if (!EntitySystem.Get<ActionBlockerSystem>().CanInteract(user) ||
!component.Owner.TryGetComponent(out ISolutionInteractionsComponent? solutionComponent) ||
!solutionComponent.CanDrain)
{

View File

@@ -8,7 +8,7 @@ using Content.Shared.Cooldown;
using Content.Shared.DragDrop;
using Content.Shared.Fluids;
using Content.Shared.Interaction;
using Content.Shared.Notification;
using Content.Shared.Interaction.Events;
using Content.Shared.Notification.Managers;
using Content.Shared.Vapor;
using Robust.Server.GameObjects;
@@ -96,7 +96,7 @@ namespace Content.Server.Fluids.Components
async Task<bool> IAfterInteract.AfterInteract(AfterInteractEventArgs eventArgs)
{
if (!ActionBlockerSystem.CanInteract(eventArgs.User))
if (!EntitySystem.Get<ActionBlockerSystem>().CanInteract(eventArgs.User))
return false;
if (_hasSafety && _safety)
@@ -207,7 +207,7 @@ namespace Content.Server.Fluids.Components
private void SetSafety(IEntity user, bool state)
{
if (!ActionBlockerSystem.CanInteract(user) || !_hasSafety)
if (!EntitySystem.Get<ActionBlockerSystem>().CanInteract(user) || !_hasSafety)
return;
_safety = state;