@jakub I am inexperienced in Godot but when I started using signals I wish I had known:
Objects I want to receive a signal often did not have a reference to the object sending the signal, so could not subscribe to it.
To solve it, notice that objects can raise a signal which is defined on a completely different class. Hence, one pattern is to have a single well known MessageBus instance, which defines all the signals, which anything can raise, and anything can subscribe to.
Add comment