I am attempting my first project which is started from the 2D tutorial. I added a simple new_game function, but after dying and restarting for some reason the CollisionShape2D for the player is still disabled and Mobs can't kill the player the 2nd time around.
This is the 'body_entered' method for the Player that shows it's killed:
hide() # Player disappears after being hit.
print_debug("hit and dying")
#defer so it's not disabled in the middle of a collision processing
The method called on the player on new game
func start(pos: Vector2) -> void:
position = pos
Tried changing it from deferred to setting it directly, but got a "Can't change this state while flushing queries" error in logs.
weird thing is it isn't disabled in the restart of in the Main class.
print_debug("waiting I guess..2")
It never prints the debug statement there.
But after restart in the 'process' method in Player, I added a 'printdebug' statement if $CollisionShape2D.disabled to find that it was somehow disabled when playing after restarting.
The collision works normally in the game before the restart.