function TNE_NightfallSettings_OnLoad() -- setup GUI labels for i, value in TNE_NightfallSettings_Labels do getglobal("NightfallSettingsFrameLabel".. i):SetText(value) end getglobal("NightfallSettingsFrameVersion"):SetText(TNE_Nightfall_Version) -- setup components -- checkbuttons for i, value in TNE_NightfallSettings_CheckButtonTooltipStrings do getglobal("NightfallSettingsFrameCheckButton".. i).tooltipText = value end for i, value in TNE_NightfallSettings_CheckButtonStrings do getglobal("NightfallSettingsFrameCheckButton".. i.. "Text"):SetText(value) end -- regular buttons for i, value in TNE_NightfallSettings_ButtonStrings do getglobal("NightfallSettingsFrameButton".. i.. "Text"):SetText(value) end -- make config window close on escape tinsert(UISpecialFrames, "NightfallSettingsFrame") -- add window to built-in UI window managment UIPanelWindows["NightfallSettingsFrame"] = { area = "left", pushable = 2, whileDead = 1 } end function TNE_NightfallSettings_OnShow() -- initalize GUI local checkButtons = { [1] = TNE_Nightfall_Enabled, [2] = TNE_Nightfall_UseLargeEffect, [3] = TNE_Nightfall_SoundEffects, [4] = TNE_Nightfall_ShardEnabled, } TNE_NightfallSettings_SetValues(checkButtons) end function TNE_NightfallSettings_SetValues(checkButtonValues) -- set components to parameters for i, value in checkButtonValues do getglobal("NightfallSettingsFrameCheckButton".. i):SetChecked(value) end end function TNE_NightfallSettings_ApplySettings() -- set addon enabled TNE_Nightfall_Enabled = getglobal("NightfallSettingsFrameCheckButton1"):GetChecked() or false TNE_Nightfall_UseLargeEffect = getglobal("NightfallSettingsFrameCheckButton2"):GetChecked() or false TNE_Nightfall_SoundEffects = getglobal("NightfallSettingsFrameCheckButton3"):GetChecked() or false TNE_Nightfall_ShardEnabled = getglobal("NightfallSettingsFrameCheckButton4"):GetChecked() or false -- propagate settings TNE_Nightfall_ApplySettings() end function TNE_NightfallSettings_ResetSettings() -- restore default values local checkButtons = { TNE_Nightfall_Default_Enabled, TNE_Nightfall_Default_UseLargeEffect, TNE_Nightfall_SoundEffects, TNE_Nightfall_Default_ShardEnabled, } TNE_NightfallSettings_SetValues(checkButtons) end