From 406f22de3f9b53353d754e6f1902d1389905e545 Mon Sep 17 00:00:00 2001 From: "A.Ne." <138010940+comasqw@users.noreply.github.com> Date: Sun, 24 Nov 2024 16:54:42 +0400 Subject: [PATCH] closed door interact popup, resolve #564 (#600) * closed door interact popup, resolve #564 * tweak * uh * removed old comment * Update attributions.yml * fix * Update CP14SharedDoorInteractionPopupSystem.cs * fixes --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com> Co-authored-by: Ed --- .../Door/CP14DoorInteractionPopupComponent.cs | 24 ++++++++++++ .../CP14SharedDoorInteractionPopupSystem.cs | 36 ++++++++++++++++++ .../Audio/_CP14/Structures/attributions.yml | 9 +++++ .../Audio/_CP14/Structures/doorknob_1.ogg | Bin 0 -> 9048 bytes .../Audio/_CP14/Structures/doorknob_2.ogg | Bin 0 -> 6762 bytes Resources/Locale/en-US/_CP14/doors/door.ftl | 1 + Resources/Locale/ru-RU/_CP14/doors/door.ftl | 1 + .../_CP14/Entities/Structures/Doors/base.yml | 8 +++- .../_CP14/SoundCollections/structures.yml | 5 +++ 9 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 Content.Shared/_CP14/Door/CP14DoorInteractionPopupComponent.cs create mode 100644 Content.Shared/_CP14/Door/CP14SharedDoorInteractionPopupSystem.cs create mode 100644 Resources/Audio/_CP14/Structures/attributions.yml create mode 100644 Resources/Audio/_CP14/Structures/doorknob_1.ogg create mode 100644 Resources/Audio/_CP14/Structures/doorknob_2.ogg create mode 100644 Resources/Locale/en-US/_CP14/doors/door.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/doors/door.ftl create mode 100644 Resources/Prototypes/_CP14/SoundCollections/structures.yml diff --git a/Content.Shared/_CP14/Door/CP14DoorInteractionPopupComponent.cs b/Content.Shared/_CP14/Door/CP14DoorInteractionPopupComponent.cs new file mode 100644 index 0000000000..60a6c7575f --- /dev/null +++ b/Content.Shared/_CP14/Door/CP14DoorInteractionPopupComponent.cs @@ -0,0 +1,24 @@ +using Robust.Shared.Audio; + +namespace Content.Shared._CP14.Door; + +[RegisterComponent, Access(typeof(CP14DoorInteractionPopupSystem))] +public sealed partial class CP14DoorInteractionPopupComponent : Component +{ + /// + /// Time delay between interactions to avoid spam. + /// + [DataField("interactDelay")] + [ViewVariables(VVAccess.ReadWrite)] + public TimeSpan InteractDelay = TimeSpan.FromSeconds(1.0); + + [DataField("interactString")] + public string InteractString = "cp14-closed-door-interact-popup"; + + [DataField("interactSound")] + public SoundSpecifier InteractSound; + + [ViewVariables(VVAccess.ReadWrite)] + public TimeSpan LastInteractTime = TimeSpan.Zero; + +} diff --git a/Content.Shared/_CP14/Door/CP14SharedDoorInteractionPopupSystem.cs b/Content.Shared/_CP14/Door/CP14SharedDoorInteractionPopupSystem.cs new file mode 100644 index 0000000000..7e53cbc76a --- /dev/null +++ b/Content.Shared/_CP14/Door/CP14SharedDoorInteractionPopupSystem.cs @@ -0,0 +1,36 @@ +using Content.Shared.Interaction; +using Content.Shared.Lock; +using Content.Shared.Popups; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Timing; + +namespace Content.Shared._CP14.Door; + +public sealed class CP14DoorInteractionPopupSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnActivatedInWorld); + } + + private void OnActivatedInWorld(Entity door, ref ActivateInWorldEvent args) + { + if (TryComp(args.Target, out var lockComponent) && !lockComponent.Locked) + return; + + var curTime = _timing.CurTime; + + if (curTime < door.Comp.LastInteractTime + door.Comp.InteractDelay) + return; + + _popup.PopupPredicted(Loc.GetString(door.Comp.InteractString), args.Target, args.Target); + _audio.PlayPredicted(door.Comp.InteractSound, args.Target, args.Target); + + door.Comp.LastInteractTime = curTime; + } +} diff --git a/Resources/Audio/_CP14/Structures/attributions.yml b/Resources/Audio/_CP14/Structures/attributions.yml new file mode 100644 index 0000000000..2a36dc7a44 --- /dev/null +++ b/Resources/Audio/_CP14/Structures/attributions.yml @@ -0,0 +1,9 @@ +- files: ["doorknob_1.ogg"] + license: "CC-BY-3.0" + copyright: 'by Leady.' + source: "https://freesound.org/people/Leady/sounds/12739/" + +- files: ["doorknob_2.ogg"] + license: "CC0-1.0" + copyright: 'by BenjaminNelan.' + source: "https://freesound.org/people/BenjaminNelan/sounds/321087/" diff --git a/Resources/Audio/_CP14/Structures/doorknob_1.ogg b/Resources/Audio/_CP14/Structures/doorknob_1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..da69a8f5acd024101af4c6b9227e43ec44669df3 GIT binary patch literal 9048 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 literal 0 HcmV?d00001 diff --git a/Resources/Locale/en-US/_CP14/doors/door.ftl b/Resources/Locale/en-US/_CP14/doors/door.ftl new file mode 100644 index 0000000000..e63e0e22a4 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/doors/door.ftl @@ -0,0 +1 @@ +cp14-closed-door-interact-popup = Locked. diff --git a/Resources/Locale/ru-RU/_CP14/doors/door.ftl b/Resources/Locale/ru-RU/_CP14/doors/door.ftl new file mode 100644 index 0000000000..116b2eab6d --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/doors/door.ftl @@ -0,0 +1 @@ +cp14-closed-door-interact-popup = Заперто. diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/base.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/base.yml index 7204121b41..6c47b3375d 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/base.yml @@ -18,4 +18,10 @@ - type: Lock locked: false - type: PlacementReplacement - key: walls \ No newline at end of file + key: walls + - type: CP14DoorInteractionPopup + interactSound: + collection: CP14Doorknob + params: + variation: 0.03 + volume: -5 diff --git a/Resources/Prototypes/_CP14/SoundCollections/structures.yml b/Resources/Prototypes/_CP14/SoundCollections/structures.yml new file mode 100644 index 0000000000..16369b7d8a --- /dev/null +++ b/Resources/Prototypes/_CP14/SoundCollections/structures.yml @@ -0,0 +1,5 @@ +- type: soundCollection + id: CP14Doorknob + files: + - /Audio/_CP14/Structures/doorknob_1.ogg + - /Audio/_CP14/Structures/doorknob_2.ogg