small racing game im working on
Diffstat (limited to 'ui/editor/back_button.gd')
| -rw-r--r-- | ui/editor/back_button.gd | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ui/editor/back_button.gd b/ui/editor/back_button.gd new file mode 100644 index 0000000..e684ac6 --- /dev/null +++ b/ui/editor/back_button.gd @@ -0,0 +1,29 @@ +extends Button + +signal back + +func _on_pressed() -> void: + if %save.unsaved: + var dialog := ConfirmationDialog.new() + dialog.min_size = Vector2(350, 100) + dialog.exclusive = true + dialog.title = "Are you sure!" + dialog.dialog_text = "You have unsaved changes!\nConsider saving first." + dialog.cancel_button_text = "wait no" + dialog.ok_button_text = "go ahead" + dialog.dialog_hide_on_ok = false + dialog.dialog_close_on_escape = false + dialog.unresizable = true + dialog.popup_window = true + dialog.initial_position = Window.WINDOW_INITIAL_POSITION_CENTER_MAIN_WINDOW_SCREEN + dialog.add_theme_stylebox_override("panel", preload("res://ui/panel_dark.stylebox")) + add_child(dialog) + dialog.show() + dialog.confirmed.connect(emit_signal.bind(&"back")) + dialog.canceled.connect(dialog.queue_free) + dialog.confirmed.connect(dialog.queue_free) + else: + back.emit() + + + |