From 67a5ead92706f8d763046f3fd5f6784b067bbde3 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Fri, 22 May 2020 11:07:43 -0400 Subject: [PATCH] Click background in character preview to change it --- code/_onclick/hud/screen_objects.dm | 17 +++++++++++++++++ code/modules/client/preferences.dm | 6 ++++-- interface/skin.dmf | 2 +- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index ab6985bdbd..64535b174a 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -617,3 +617,20 @@ /obj/screen/component_button/Click(params) if(parent) parent.component_click(src, params) + +// Character setup stuff +/obj/screen/setup_preview + + var/datum/preferences/pref + +/obj/screen/setup_preview/Destroy() + pref = null + return ..() + +// Background 'floor' +/obj/screen/setup_preview/bg + mouse_over_pointer = MOUSE_HAND_POINTER + +/obj/screen/setup_preview/bg/Click(params) + pref?.bgstate = next_in_list(pref.bgstate, pref.bgstate_options) + pref?.update_preview_icon() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index cae4865724..b7a0262793 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -259,20 +259,22 @@ datum/preferences if(!client) return - var/obj/screen/BG= LAZYACCESS(char_render_holders, "BG") + var/obj/screen/setup_preview/bg/BG = LAZYACCESS(char_render_holders, "BG") if(!BG) BG = new BG.plane = TURF_PLANE BG.icon = 'icons/effects/128x48.dmi' + BG.pref = src LAZYSET(char_render_holders, "BG", BG) client.screen |= BG BG.icon_state = bgstate BG.screen_loc = preview_screen_locs["BG"] for(var/D in global.cardinal) - var/obj/screen/O = LAZYACCESS(char_render_holders, "[D]") + var/obj/screen/setup_preview/O = LAZYACCESS(char_render_holders, "[D]") if(!O) O = new + O.pref = src LAZYSET(char_render_holders, "[D]", O) client.screen |= O O.appearance = MA diff --git a/interface/skin.dmf b/interface/skin.dmf index 9f6d10936d..faee20d442 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -1422,7 +1422,7 @@ window "preferences_window" size = 200x800 anchor1 = 80,0 anchor2 = 100,100 - right-click = false + right-click = true window "infowindow" elem "infowindow"