AFAIK, you must call connect() on the object with the signal you’d like to connect to. In your example, you’re trying to connect a method of NodeB to a signal of NodeB. You’d have to do something like:
var node_a = NodeA.new()
node_a.connect(“Update_The_Popcorn”, self, “Signal_Digest”, [SIGNAL])
As far as I know, no. There are however two ways to circumvent this problem that I can think of.
Add an intermediary node that will listen for the signals. For example, if you don’t know who emits signal A, just use the _ready function of signal A emitters to connect to the intermediary listener, and then the listener will relay signal B to signal B listeners upon receiving signal A.
Find a way to make a node just listen for a signal directly, so that no matter who emits signal A, all signal A listeners will react.
Having a intermediary node was something I thought about doing with autoloads or using groups, it works, thanks for the suggestions, cheers.