From the documentation https://docs.godotengine.org/en/3.1/getting_started/scripting/gdscript/static_typing.html. Complete bottom: "Two scripts can’t depend on each other in a cyclic fashion". Isn't that a fatal flaw? Or is there anything I'm missing?
It seems such a huge limitation as to make the static feature typing almost unusable as in practice, it really does not seem to be viable to attempt to consistently try to bypass this limitation. No? I mean, never saw this limitation in an object oriented programming language... Is there really a point to this limitation? Is this just a technical limitation of the engine and is that feature even really usable?
I'm trying to illustrate the issue with an example, and it makes my head spin just thinking about it... Ex: A character has Actions (move, dodge, attack, etc.), and has Weapons. So... If a character attacks another, your action can reference Weapon, but, you can't reference Character from Weapon or Action, so if your weapon cuts off the arm of a Character, or moves the Character's arm as it's swinging the weapon, then... Can't be done because Weapon or Action Scripts can't know of the class Character...
So just because the script Character has some references to Action or Weapon, neither Weapon or Action can ever make reference of Character. I mean that's just so... Annoying and limitative! Is there really a point to try to work with that? Is there a 'best practice' I'm missing?