Hello all,
first of all, so you don't misunderstand me, I have been using Unity for a longer time and tried Godot and I am really excited, a great engine.
As a beginner I started with a simple Tic Tac Toe game and used many signals to emit events from children to their parents. But I'm struggling with more "real world" scenarios, e.g.
Are Autoload scripts the only solution to transport data across the scenes? I personally try to avoid static stuff as much as I can
If Node A emits a signal, its parent node can listen to it and call the other children. This might be an overhead for the parent. Are there any ways to communicate between Scene A and Scene B ( both are subscenes in Scene C, e.g. Player and HealthBar in Level 1 ) directly?
Is there a way to decouple the hard references from parent A to children n ... m ? I would like to avoid calling $child_1 directly, it feels hardcoded to me
Children emit signals and parents listen for the signal. But if parent A wants children B to jump, parent A must call $children_b.jump() although it doesn't know if that function even exists. It worked for me, but felt bad. Changing an exported variable of a children to "trigger" an action feels bad too because I personally would not run any logic inside a property setter. So how can a parent call a children to do something? If not possible, is it possible for the children to observe variable changes?
I think there are so much more questions about a "clean" node structure. Godot felt super easy and nice to me :) but for now, I'm struggling with a large scale architecture
Thanks in advance!