diff --git a/Content.Client/_CP14/Fishing/CP14FishingSystem.cs b/Content.Client/_CP14/Fishing/CP14FishingSystem.cs new file mode 100644 index 0000000000..0b6588f336 --- /dev/null +++ b/Content.Client/_CP14/Fishing/CP14FishingSystem.cs @@ -0,0 +1,38 @@ +using Content.Shared._CP14.Fishing; +using Content.Shared._CP14.Fishing.Components; +using Content.Shared.Interaction; + +namespace Content.Client._CP14.Fishing; + +public sealed class CP14FishingSystem : CP14SharedFishingSystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInteract); + } + + private void OnInteract(EntityUid uid, CP14FishingRodComponent component, AfterInteractEvent args) + { + if (args.Handled) + return; + + if (!args.CanReach || args.Target is not { Valid: true } target) + return; + + if (!TryComp(args.Target, out var pond)) + return; + + if (component.FishingProcess) + return; + + OpenFishingPopup(); + } + + private void OpenFishingPopup() + { + + } + +} diff --git a/Content.Shared/_CP14/Fishing/CP14SharedFishingSystem.cs b/Content.Shared/_CP14/Fishing/CP14SharedFishingSystem.cs new file mode 100644 index 0000000000..204d190ce3 --- /dev/null +++ b/Content.Shared/_CP14/Fishing/CP14SharedFishingSystem.cs @@ -0,0 +1,5 @@ +namespace Content.Shared._CP14.Fishing; + +public abstract class CP14SharedFishingSystem : EntitySystem +{ +} diff --git a/Content.Shared/_CP14/Fishing/Components/CP14FishingPondComponent.cs b/Content.Shared/_CP14/Fishing/Components/CP14FishingPondComponent.cs new file mode 100644 index 0000000000..8c44d257f6 --- /dev/null +++ b/Content.Shared/_CP14/Fishing/Components/CP14FishingPondComponent.cs @@ -0,0 +1,15 @@ +using System.Runtime.Serialization; +using Content.Shared.EntityTable; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Fishing.Components; + +/// +/// This is used for... +/// +[RegisterComponent] +public sealed partial class CP14FishingPondComponent : Component +{ + [DataField] + public ProtoId LootTable; +} diff --git a/Content.Shared/_CP14/Fishing/Components/CP14FishingRod.cs b/Content.Shared/_CP14/Fishing/Components/CP14FishingRod.cs index 5d52e7963d..c23e2b9b8d 100644 --- a/Content.Shared/_CP14/Fishing/Components/CP14FishingRod.cs +++ b/Content.Shared/_CP14/Fishing/Components/CP14FishingRod.cs @@ -6,5 +6,5 @@ namespace Content.Shared._CP14.Fishing.Components; [RegisterComponent] public sealed partial class CP14FishingRodComponent : Component { - + public bool FishingProcess = false; }