extends Node2D const NUM_LEVELS = 3 # level control var current_level_id = 0 var levels = [] var post_game = false var scenes = [ # preload("res://Nodes/levels/level1/level1.tscn"), # preload("res://Nodes/levels/level2/level2.tscn") preload("res://Nodes/Level_test.tscn") ] # Called when the node enters the scene tree for the first time. func _ready(): # $JinglePlayer.stream.loop_mode = AudioStream.LOOP_DISABLED load_scene_by_index(0) # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): if Input.is_action_just_pressed("ui_cancel"): close_scoreboard() get_tree().paused = true $PausePopup.show() Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) func _on_QuitButton_pressed(): get_tree().quit() func _on_ResumeButton_pressed(): print('aaaa') $PausePopup.hide() get_tree().paused = false Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) func _on_MainMenuButton_pressed(): get_tree().paused = false get_tree().change_scene_to_file("res://Nodes/main_menu.tscn") func end_level(): open_scoreboard() # evaluate_player(current_strokes, PAR[current_level_id]) $BGMPLayer.stream_paused = true $JinglePlayer.play() post_game = true func open_scoreboard(): # strokes_per_level[current_level_id] = current_strokes # $Scoreboard.update_values(strokes_per_level, PAR) # $Scoreboard.show() pass func close_scoreboard(): # $Scoreboard.hide() pass func is_post_game(): return post_game func next_level(): post_game = false current_level_id += 1 if current_level_id >= NUM_LEVELS: get_tree().change_scene("res://scenes/levels/MainMenu.tscn") return load_scene_by_index(current_level_id) close_scoreboard() $Evaluation.hide() $BGMPLayer.stream_paused = false $JinglePlayer.stop() func evaluate_player(strokes, par): $Evaluation/EvaluationLabel.text = "%d Seconds" % 42 $Evaluation.show() func _on_JinglePlayer_finished(): $BGMPLayer.stream_paused = false func load_scene_by_index(index): # clear level for n in $LoadedLevel.get_children(): $LoadedLevel.remove_child(n) n.queue_free() # add new level var instance = scenes[index].instantiate() $LoadedLevel.add_child(instance)