Door opening tweaks (#16799)

This commit is contained in:
metalgearsloth
2023-06-13 20:30:04 +10:00
committed by GitHub
parent 8fd8b878bf
commit c24c6e93ec
5 changed files with 20 additions and 14 deletions

View File

@@ -57,6 +57,7 @@ public abstract class SharedDoorSystem : EntitySystem
SubscribeLocalEvent<DoorComponent, ComponentGetState>(OnGetState);
SubscribeLocalEvent<DoorComponent, ComponentHandleState>(OnHandleState);
SubscribeLocalEvent<DoorComponent, InteractedNoHandEvent>(OnInteractedNoHand);
SubscribeLocalEvent<DoorComponent, ActivateInWorldEvent>(OnActivate);
SubscribeLocalEvent<DoorComponent, StartCollideEvent>(HandleCollide);
@@ -179,9 +180,22 @@ public abstract class SharedDoorSystem : EntitySystem
#endregion
#region Interactions
protected virtual void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args)
private void OnInteractedNoHand(EntityUid uid, DoorComponent component, InteractedNoHandEvent args)
{
// avoid client-mispredicts, as the server will definitely handle this event
if (args.Handled || !component.ClickOpen || !Tags.HasTag(args.User, "DoorBumpOpener"))
return;
TryToggleDoor(uid, component, args.User, predicted: true);
args.Handled = true;
}
public void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args)
{
if (args.Handled || !door.ClickOpen)
return;
TryToggleDoor(uid, door, args.User, predicted: true);
args.Handled = true;
}