22 lines
781 B
GDScript
22 lines
781 B
GDScript
extends Node
|
|
|
|
func _ready() -> void:
|
|
EventBus.game_over.connect(_on_game_over)
|
|
if GameState.force_return_to_world:
|
|
call_deferred("_handle_force_return")
|
|
|
|
func _handle_force_return() -> void:
|
|
GameState.force_return_to_world = false
|
|
var player: Node3D = get_tree().get_first_node_in_group("player")
|
|
var tavern: Node3D = get_tree().get_first_node_in_group("tavern")
|
|
if player and tavern:
|
|
player.global_position = tavern.global_position + Vector3(0, 1, -6)
|
|
var invasion: Node = get_node_or_null("../Systems/InvasionSystem")
|
|
if invasion:
|
|
invasion.trigger()
|
|
|
|
func _on_game_over() -> void:
|
|
var overlay: CanvasLayer = get_node_or_null("../GameOverOverlay")
|
|
if overlay and overlay.has_method("show_overlay"):
|
|
overlay.show_overlay(GameState.current_wave)
|