2022-09-27 06:37:28 +02:00
|
|
|
/// @description init
|
|
|
|
if !ready exit;
|
2023-02-23 07:02:19 +01:00
|
|
|
|
2023-07-06 19:49:16 +02:00
|
|
|
#region dim BG
|
|
|
|
var lowest = true;
|
|
|
|
with(o_dialog_exit) {
|
|
|
|
if(id == other.id) continue;
|
|
|
|
if(depth > other.depth) lowest = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if(lowest) {
|
|
|
|
draw_set_color(c_black);
|
|
|
|
draw_set_alpha(0.5);
|
|
|
|
draw_rectangle(0, 0, WIN_W, WIN_H, false);
|
|
|
|
draw_set_alpha(1);
|
|
|
|
}
|
|
|
|
#endregion
|
2022-09-27 06:37:28 +02:00
|
|
|
|
|
|
|
#region base UI
|
2022-11-18 03:20:31 +01:00
|
|
|
draw_sprite_stretched(THEME.dialog_bg, 0, dialog_x, dialog_y, dialog_w, dialog_h);
|
2022-11-03 11:44:49 +01:00
|
|
|
if(sFOCUS)
|
2022-11-18 03:20:31 +01:00
|
|
|
draw_sprite_stretched_ext(THEME.dialog_active, 0, dialog_x, dialog_y, dialog_w, dialog_h, COLORS._main_accent, 1);
|
2022-09-27 06:37:28 +02:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region text
|
2023-07-06 19:49:16 +02:00
|
|
|
var py = dialog_y + ui(16);
|
|
|
|
var txt = $"Project modified";
|
2023-06-10 13:59:45 +02:00
|
|
|
draw_set_text(f_h5, fa_left, fa_top, COLORS._main_text);
|
2023-07-06 19:49:16 +02:00
|
|
|
draw_text(dialog_x + ui(24), py, txt);
|
2023-05-28 20:00:51 +02:00
|
|
|
py += line_get_height(, 4);
|
2022-09-27 06:37:28 +02:00
|
|
|
|
2022-11-18 03:20:31 +01:00
|
|
|
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text);
|
2023-07-06 19:49:16 +02:00
|
|
|
var txt = $"Save project '{filename_name(project.path)}' before exit?";
|
|
|
|
draw_text(dialog_x + ui(24), py, txt);
|
2022-09-27 06:37:28 +02:00
|
|
|
|
2023-09-02 12:47:27 +02:00
|
|
|
var bw = ui(96), bh = BUTTON_HEIGHT;
|
2022-11-03 11:44:49 +01:00
|
|
|
var bx1 = dialog_x + dialog_w - ui(16);
|
|
|
|
var by1 = dialog_y + dialog_h - ui(16);
|
2022-09-27 06:37:28 +02:00
|
|
|
var bx0 = bx1 - bw;
|
|
|
|
var by0 = by1 - bh;
|
|
|
|
|
2022-11-18 03:20:31 +01:00
|
|
|
draw_set_text(f_p1, fa_center, fa_center, COLORS._main_text);
|
|
|
|
var b = buttonInstant(THEME.button, bx0, by0, bw, bh, mouse_ui, sFOCUS, sHOVER);
|
2023-06-05 18:27:53 +02:00
|
|
|
draw_text(bx0 + bw / 2, by0 + bh / 2, __txt("Cancel"));
|
2022-09-27 06:37:28 +02:00
|
|
|
if(b == 2)
|
|
|
|
instance_destroy();
|
|
|
|
|
2022-11-03 11:44:49 +01:00
|
|
|
bx0 -= bw + ui(12);
|
2022-11-18 03:20:31 +01:00
|
|
|
var b = buttonInstant(THEME.button, bx0, by0, bw, bh, mouse_ui, sFOCUS, sHOVER);
|
2023-06-05 18:27:53 +02:00
|
|
|
draw_text(bx0 + bw / 2, by0 + bh / 2, __txtx("dont_save", "Don't save"));
|
2022-09-27 06:37:28 +02:00
|
|
|
if(b == 2) {
|
|
|
|
PREF_SAVE();
|
2023-07-06 19:49:16 +02:00
|
|
|
|
|
|
|
if(instance_number(o_dialog_exit) == 1)
|
|
|
|
game_end();
|
|
|
|
instance_destroy();
|
2022-09-27 06:37:28 +02:00
|
|
|
}
|
|
|
|
|
2022-11-03 11:44:49 +01:00
|
|
|
bx0 -= bw + ui(12);
|
2022-11-18 03:20:31 +01:00
|
|
|
var b = buttonInstant(THEME.button, bx0, by0, bw, bh, mouse_ui, sFOCUS, sHOVER);
|
2023-06-05 18:27:53 +02:00
|
|
|
draw_text(bx0 + bw / 2, by0 + bh / 2, __txt("Save"));
|
2023-07-06 19:49:16 +02:00
|
|
|
if(b == 2 && SAVE(project)) {
|
2022-09-27 06:37:28 +02:00
|
|
|
PREF_SAVE();
|
2023-07-06 19:49:16 +02:00
|
|
|
if(instance_number(o_dialog_exit) == 1)
|
|
|
|
game_end();
|
|
|
|
instance_destroy();
|
2022-09-27 06:37:28 +02:00
|
|
|
}
|
|
|
|
#endregion
|