Currently, I'm making a card game (think of Hearthstone) with a node oriented approach. This means, that every card is a node, and that to move a card to a designated spot (for instance, a player's hand or the combat field), I need to move the child node between parent nodes.
For example, to move a card from my hand to the combat field, I would call remove_child() on my hand and add_child() on the combat field.
Now, this works really well when it comes to having cards teleport everywhere. However, I want them to smoothly move from a parent node to another. What is the best way to achieve this? Or is there a better way to organise my scenes other than using nodes?
I believe the way you're doing it now is the only way to reparent nodes in Godot. The only change that you could perhaps make is to create your own reparent function, and put your current code (i.e. the remove_child() and add_child() methods) inside of it, assuming you haven't done this already. That way, you can just call the function whenever you need to reparent a node.