From 9864bae192e4c8b150c96a8dac6df6dfe529353b Mon Sep 17 00:00:00 2001 From: Arthur <14136326+Morb0@users.noreply.github.com> Date: Fri, 24 Jun 2022 04:33:24 +0300 Subject: [PATCH] Add basic server icarus components --- .../Icarus/IcarusTerminalComponent.cs | 16 +++++++++++ Content.Server/Icarus/IcarusTerminalSystem.cs | 28 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 Content.Server/Icarus/IcarusTerminalComponent.cs create mode 100644 Content.Server/Icarus/IcarusTerminalSystem.cs diff --git a/Content.Server/Icarus/IcarusTerminalComponent.cs b/Content.Server/Icarus/IcarusTerminalComponent.cs new file mode 100644 index 0000000000..8c3cb785f1 --- /dev/null +++ b/Content.Server/Icarus/IcarusTerminalComponent.cs @@ -0,0 +1,16 @@ +namespace Content.Server.Icarus; + +/// +/// Used to store Icarus terminal keys +/// +[RegisterComponent] +public sealed class IcarusTerminalComponent : Component +{ + [ViewVariables(VVAccess.ReadWrite)] + [DataField("totalKeys")] + public int TotalKeys = 3; + + [ViewVariables(VVAccess.ReadWrite)] + [DataField("activatedKeys")] + public int ActivatedKeys = 0; +} diff --git a/Content.Server/Icarus/IcarusTerminalSystem.cs b/Content.Server/Icarus/IcarusTerminalSystem.cs new file mode 100644 index 0000000000..844595e372 --- /dev/null +++ b/Content.Server/Icarus/IcarusTerminalSystem.cs @@ -0,0 +1,28 @@ +namespace Content.Server.Icarus; + +/// +/// Handle Icarus activation terminal +/// +public sealed class IcarusTerminalSystem : EntitySystem +{ + /// + public override void Initialize() + { + + } + + public void OnKeyInsert() + { + + } + + public void Fire() + { + // TODO: Fire Icarus beam + } + + public bool IsUnlocked(IcarusTerminalComponent comp) + { + return comp.ActivatedKeys == comp.TotalKeys; + } +}