Signal System
Overview
Signal is a system inspired by Minecraft’s Redstone. Its primary function is to transfer inputs generated from objects like buttons, levers, and more through Nodes and Connections that visually depict this transfer, into various outputs like doors, spawners, and other interactive devices.
Presently it’s only “in house tool”. But once the systems grows large enough and I ever have enough time I plan to make it into asset, and upload it to Unity asset store.
Nodes
Signal Node is the main building block of the system. It’s main set of function includes: receiving of the signal, processing it and sending it. However there is many different variables that can be set in order to customize the behaviour of the system. Few examples being:
Signal Value
Current integer value that is node holding.
Send Signal Cost
Value that is subtracted from the current value before sending.
Signal Devices
Signal devices are behaviours that react to 3 main Node events – Signal Received, Signal Updated, Signal Ended.
More advanced variants are derived from base Signal Node.


Signal Node
Base signal node.

Signal Pulser
Acts as sort of adapter. If it receives signal it transforms it into pulses.

Signal Input
Used to input signal into system via non-signal behaviours such as buttons, levers, ..etc.

Signal Timer
Requires receiving signal to be active certain amount of time in order to send it further. However when receiving signal ends sending signal also ends instantly.

Signal Gate
Requires minimal signal value in order to send signal further.

Connections
Connections as name implies connect two 2 nodes in one way relation (Sender -> Receiver) and thus making the signal transfer possible. Similarly to Nodes, Connections are also made in a way that multiple variants can be derived. (However currently only 1 connection type is being used – Line Connection, other types are yet to be designed)

Line connection
Connecting two Nodes via line of “smaller nodes” that transfer signal each with a small delay.

Laser connection
(Not yet implemented)
Laser that is both connected and sends signal if it can travel uninterrupted from sender to receiver.