/// @description init #region base UI draw_sprite_stretched(THEME.dialog_bg, 0, dialog_x, dialog_y, dialog_w, dialog_h); if(sFOCUS) draw_sprite_stretched_ext(THEME.dialog_active, 0, dialog_x, dialog_y, dialog_w, dialog_h, COLORS._main_accent, 1); #endregion #region draw TB draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_title); draw_text(dialog_x + ui(16), dialog_y + ui(32), get_text("name", "Name")); var is_author = !meta.steam || meta.author_steam_id == 0 || meta.author_steam_id == STEAM_USER_ID; t_desc.interactable = !STEAM_UGC_ITEM_UPLOADING; t_auth.interactable = !STEAM_UGC_ITEM_UPLOADING && is_author; t_cont.interactable = !STEAM_UGC_ITEM_UPLOADING; t_tags.interactable = !STEAM_UGC_ITEM_UPLOADING; t_alias.interactable = !STEAM_UGC_ITEM_UPLOADING; tb_name.interactable = !STEAM_UGC_ITEM_UPLOADING; tb_name.setActiveFocus(sFOCUS, sHOVER); tb_name.register(); tb_name.draw(dialog_x + ui(72), dialog_y + ui(16), dialog_w - ui(164), ui(32), meta.name, mouse_ui); var bx = dialog_x + dialog_w - ui(84); var by = dialog_y + ui(16); var bw = ui(32); var bh = ui(32); var txt = get_text("new_collection_create", "Create collection"); var icon = THEME.accept; if(updating != noone) { txt = get_text("collection_update", "Update collection"); } if(ugc == 1) { txt = get_text("workshop_upload", "Upload workshop"); icon = THEME.workshop_upload; } else if(ugc == 2) { txt = get_text("workshop_update", "Update workshop"); icon = THEME.workshop_update; } if(ugc_loading) { steam_ugc_get_item_update_progress(STEAM_UGC_UPDATE_HANDLE, STEAM_UGC_UPDATE_MAP); destroy_on_click_out = false; draw_sprite_ui(THEME.loading_s, 0, bx + ui(16), by + ui(16),,, current_time / 5, COLORS._main_icon); if(STEAM_UGC_ITEM_UPLOADING == false) instance_destroy(); } else { if(buttonInstant(THEME.button_hide, bx, by, bw, bh, mouse_ui, sFOCUS, sHOVER, txt, icon, 0, COLORS._main_value_positive) == 2) { if(meta.author_steam_id == 0) meta.author_steam_id = STEAM_USER_ID; if(updating == noone) { PANEL_COLLECTION.saveCollection(meta.name, true, meta); } else { var path = updating.path; var map = json_load(path); var _meta = meta.serialize(); if(ds_map_exists(map, "metadata")) ds_map_replace_map(map, "metadata", _meta); else ds_map_add_map(map, "metadata", _meta); json_save(path, map); ds_map_destroy(map); updating.meta = meta; PANEL_COLLECTION.refreshContext(); } if(ugc == 1) { steam_ugc_create_collection(updating); ugc_loading = true; } else if(ugc == 2) { steam_ugc_update_collection(updating); ugc_loading = true; } else instance_destroy(); } } bx += bw + ui(4); var txt = get_text("new_collection_meta_edit", "Edit metadata"); if(buttonInstant(THEME.button_hide, bx, by, bw, bh, mouse_ui, sFOCUS, sHOVER, txt, THEME.hamburger) == 2) { expand(); } #endregion #region metadata dialog_h = ui(64); if(meta_expand) { var yy = dialog_y + ui(56); draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title); draw_text(dialog_x + ui(16), yy, get_text("description", "Description")); yy += line_height() + ui(4); dialog_h += line_height() + ui(4); t_desc.setActiveFocus(sFOCUS, sHOVER); t_desc.register(); t_desc.draw(dialog_x + ui(16), yy, dialog_w - ui(32), ui(200), meta.description, mouse_ui); yy += ui(200) + ui(8); dialog_h += ui(200) + ui(8); draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title); draw_text(dialog_x + ui(16), yy, get_text("author", "Author")); yy += line_height() + ui(4); dialog_h += line_height() + ui(4); t_auth.setActiveFocus(sFOCUS, sHOVER); t_auth.register(); t_auth.draw(dialog_x + ui(16), yy, dialog_w - ui(32), TEXTBOX_HEIGHT, meta.author, mouse_ui); yy += TEXTBOX_HEIGHT + ui(8); dialog_h += TEXTBOX_HEIGHT + ui(8); draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title); draw_text(dialog_x + ui(16), yy, get_text("contact_info", "Contact info")); yy += line_height() + ui(4); dialog_h += line_height() + ui(4); t_cont.setActiveFocus(sFOCUS, sHOVER); t_cont.register(); t_cont.draw(dialog_x + ui(16), yy, dialog_w - ui(32), TEXTBOX_HEIGHT, meta.contact, mouse_ui); yy += TEXTBOX_HEIGHT + ui(8); dialog_h += TEXTBOX_HEIGHT + ui(8); draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title); draw_text(dialog_x + ui(16), yy, get_text("alias", "Alias")); yy += line_height() + ui(4); dialog_h += line_height() + ui(4); t_alias.setActiveFocus(sFOCUS, sHOVER); t_alias.register(); t_alias.draw(dialog_x + ui(16), yy, dialog_w - ui(32), TEXTBOX_HEIGHT, meta.alias, mouse_ui); yy += TEXTBOX_HEIGHT + ui(8); dialog_h += TEXTBOX_HEIGHT + ui(8); draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title); draw_text(dialog_x + ui(16), yy, get_text("tags", "Tags")); yy += line_height() + ui(4); dialog_h += line_height() + ui(4); t_tags.setActiveFocus(sFOCUS, sHOVER); t_tags.register(); var hh = t_tags.draw(dialog_x + ui(16), yy, dialog_w - ui(32), TEXTBOX_HEIGHT, mouse_ui); yy += hh + ui(8); dialog_h += hh + ui(8); } dialog_y = clamp(dialog_y, ui(16), WIN_H - ui(16) - dialog_h); #endregion