extends CanvasLayer var pause = false : set = set_pause var mouse_mode_before_pause : Input.MouseMode func _ready(): hide() Dialogic.timeline_ended.connect(_on_timeline_ended) func set_pause(p): if p != pause: if p: %AnimationPlayer.play("pause") else: %AnimationPlayer.play_backwards("pause") pause = p get_tree().paused = pause %Settings.close_settings() %Controls.close_controls() if p : mouse_mode_before_pause = Input.mouse_mode Input.mouse_mode = Input.MOUSE_MODE_VISIBLE else: Input.mouse_mode = mouse_mode_before_pause if p: %GiveUp.visible = GameInfo.game_data and GameInfo.game_data.current_region_data if not p: GameInfo.save_settings() func _input(_event): if Input.is_action_just_pressed("pause"): pause = not pause func _on_timeline_ended(): if SceneManager.actual_scene and SceneManager.actual_scene.mouse_captured: Input.mouse_mode = Input.MOUSE_MODE_CAPTURED func _on_resume_pressed(): pause = false func _on_quit_pressed(): get_tree().quit() func _on_game_gui_pause_asked(): pause = true func _on_settings_pressed(): open_settings() func open_settings(): %Settings.open_settings() func _on_controls_pressed(): open_controls() func open_controls(): %Controls.open_controls() func _on_give_up_pressed(): if GameInfo.game_data: GameInfo.game_data.give_up() pause = false func _on_title_screen_pressed(): SceneManager.change_to_scene(TitleScene.new()) pause = false