GameMode1.gd
extends ...
func _ready():
$BaseGame.connect("game_over", self, "_on_BaseGame_game_over")
func _on_BaseGame_game_over():
# do something
BaseGame.gd
extends ...
signal game_over
func game_over():
emit_signal("game_over")
If you don't want to use signals, you could also call the parents method directly:
GameMode1.gd
extends ...
func _on_BaseGame_game_over():
# do something
BaseGame.gd
extends ...
func game_over():
get_parent()._on_BaseGame_game_over()
Edit: Fixed the code for game_over
in the second example.