extends Area3D class_name Portal @export var scene_path : String @export var scene_name : String @export var level_gamemode : gamemode @export var scene_thumbnail : Texture2D @export var hub_portal : bool = false var timer_active = false var active = true var index : int # Called when the node enters the scene tree for the first time. func _ready() -> void: pass # Replace with function body. # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass func _on_body_entered(body: Node3D) -> void: if body.is_in_group("player"): if active and timer_active: #Let the Bounds detector know player is exiting SignalBus.emit_signal("player_exiting_tree") if hub_portal: #add back other portals to round portal array GameGlobals.current_match[GameGlobals.current_round_id].remove_at(index) #Set incoming gamemode GameGlobals.loading_gamemode = level_gamemode #Save data if get_tree().current_scene.gamemode.load_save == true: SaveLoad.save_game_data(get_tree().current_scene.get_name()) SaveLoad.save_user_data() get_tree().change_scene_to_file(scene_path) func _on_start_activation_timeout() -> void: timer_active = true