From c1cbde42881c0128b9a693524e462e8c2183556f Mon Sep 17 00:00:00 2001 From: Roni Kovaniemi Date: Mon, 9 Jul 2018 14:42:07 +0300 Subject: [PATCH] Adder Signal Component Added a Adder signal component, which adds values inputted together and outputs a sum. --- .../BarotraumaShared.projitems | 1 + .../Content/Items/Electricity/signalitems.xml | 34 ++++++++++ .../Items/Components/Signal/AdderComponent.cs | 64 +++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 Barotrauma/BarotraumaShared/Source/Items/Components/Signal/AdderComponent.cs diff --git a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems index a0464c1ec..10c86e8ad 100644 --- a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems +++ b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems @@ -1475,6 +1475,7 @@ + diff --git a/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml b/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml index b02f10d62..16075682d 100644 --- a/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml +++ b/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml @@ -146,6 +146,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + timeFrame) sendOutput = false; + timeSinceReceived[i] += deltaTime; + } + if (sendOutput) + { + item.SendSignal(0, (receivedSignal[0] + receivedSignal[1]).ToString(), "signal_out", null); + } + } + + public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power=0.0f) + { + switch (connection.Name) + { + case "signal_in1": + float.TryParse(signal, out receivedSignal[0]); + timeSinceReceived[0] = 0.0f; + break; + case "signal_in2": + float.TryParse(signal, out receivedSignal[1]); + timeSinceReceived[1] = 0.0f; + break; + } + } + } +}