Pixel-Composer/objects/o_main/Step_1.gml
2022-12-16 15:18:09 +07:00

71 lines
1.3 KiB
Plaintext

/// @description init
#region window
//if(keyboard_check_pressed(vk_f12)) DEBUG = !DEBUG;
if(_cursor != CURSOR) {
window_set_cursor(CURSOR);
_cursor = CURSOR;
}
CURSOR = cr_default;
if((win_wp != WIN_W || win_hp != WIN_H) && (WIN_W > 1 && WIN_H > 1)) {
display_refresh();
Render();
}
#endregion
#region focus
HOVER = noone;
if(PANEL_MAIN != 0)
PANEL_MAIN.stepBegin();
DIALOG_DEPTH_HOVER = 0;
with(_p_dialog) {
checkFocus();
}
#endregion
#region nodes
var _k = ds_map_find_first(NODE_MAP);
var _a = ds_map_size(NODE_MAP);
repeat(_a) {
NODE_MAP[? _k].stepBegin();
_k = ds_map_find_next(NODE_MAP, _k);
}
if(UPDATE & RENDER_TYPE.full)
Render();
if(UPDATE & RENDER_TYPE.partial)
Render(true);
UPDATE = RENDER_TYPE.none;
#endregion
#region clicks
DOUBLE_CLICK = false;
if(mouse_press(mb_left)) {
if(dc_check > 0) {
DOUBLE_CLICK = true;
dc_check = 0;
} else
dc_check = PREF_MAP[? "double_click_delay"];
}
dc_check -= DELTA_TIME;
#endregion
#region step
if(array_length(action_last_frame) > 0) {
ds_stack_push(UNDO_STACK, action_last_frame);
ds_stack_clear(REDO_STACK);
}
action_last_frame = [];
#endregion
#region dialog
if(!ds_list_empty(DIALOGS))
DIALOGS[| ds_list_size(DIALOGS) - 1].checkMouse();
if(mouse_release(mb_left))
DIALOG_CLICK = true;
#endregion