Mercurial > wow > cyborg-mmo7
diff CyborgMMO7.lua @ 21:c8b19bc87787
Simplified settings handling, and fixed a few minor bugs related to them.
author | madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09 |
---|---|
date | Thu, 25 Apr 2013 01:30:26 +0000 |
parents | 937be4664323 |
children | 3b1c0b676583 |
line wrap: on
line diff
--- a/CyborgMMO7.lua Thu Apr 25 01:30:21 2013 +0000 +++ b/CyborgMMO7.lua Thu Apr 25 01:30:26 2013 +0000 @@ -26,8 +26,9 @@ local VarsLoaded = false local EnteredWorld = false local BindingsLoaded = false +local SettingsLoaded = false local SaveName = GetRealmName().."_"..UnitName("player") -local CyborgMMO_Settings = nil +local Settings = nil function CyborgMMO_MiniMapButtonReposition(pos) @@ -131,25 +132,23 @@ CyborgMMO_SetupModeCallbacks(2) CyborgMMO_SetupModeCallbacks(3) + Settings = data.Settings + if not Settings then + Settings = {} + Settings.Cyborg = 0.75 + Settings.Plugin = 0.75 + Settings.MiniMapButton = true + Settings.CyborgButton = true + data.Settings = Settings + end + SettingsLoaded = true - --Reload Slider values: - if not data["Settings"] then - data["Settings"] = {} - data["Settings"]["Cyborg"] = 0.75 - data["Settings"]["Plugin"] = 0.75 - data["Settings"]["MiniMapButton"] = true - data["Settings"]["CyborgButton"] = true - end + -- Reload Slider values: + CyborgMMO_SetOpenButtonSize(Settings.Cyborg) + CyborgMMO_SetMainPageSize(Settings.Plugin) - CyborgMMO_Settings = data["Settings"] - - CyborgMMO_OptionPageCyborgSizeSlider:SetValue(CyborgMMO_Settings["Cyborg"]) - CyborgMMO_SetOpenButtonSize(CyborgMMO_Settings["Cyborg"]) - CyborgMMO_OptionPagePluginSizeSlider:SetValue(CyborgMMO_Settings["Plugin"]) - CyborgMMO_SetMainPageSize(CyborgMMO_Settings["Plugin"]) - - CyborgMMO_SetMiniMapButton(CyborgMMO_Settings["MiniMapButton"]) - CyborgMMO_SetCyborgHeadButton(CyborgMMO_Settings["CyborgButton"]) + CyborgMMO_SetMiniMapButton(Settings.MiniMapButton) + CyborgMMO_SetCyborgHeadButton(Settings.CyborgButton) local xmin,ymin = Minimap:GetLeft(),Minimap:GetBottom() CyborgMMO_MiniMapButtonReposition(math.deg(math.atan2(ymin, xmin))) @@ -189,17 +188,11 @@ function CyborgMMO_Close() CyborgMMO_MainPage:Hide() - if CyborgMMO_Settings["CyborgButton"] then - CyborgMMO_OpenButtonPage:Show() - end end function CyborgMMO_Open() CyborgMMO_MainPage:Show() CyborgMMO_RatQuickPage:Hide() - if CyborgMMO_Settings["CyborgButton"] then - CyborgMMO_OpenButtonPage:Show() - end end function CyborgMMO_IsOpen() @@ -241,46 +234,42 @@ end function CyborgMMO_SetMainPageSize(percent) - if VarsLoaded and EnteredWorld then - CyborgMMO_MainPage:SetScale(percent) - CyborgMMO_Settings["Plugin"] = percent - local data = CyborgMMO_GetSaveData() - data["Settings"] = CyborgMMO_Settings - CyborgMMO_OptionPagePluginSizeSlider:SetValue(percent) + CyborgMMO_MainPage:SetScale(percent) + CyborgMMO_OptionPagePluginSizeSlider:SetValue(percent) + if BindingsLoaded then + Settings.Plugin = percent end end function CyborgMMO_SetOpenButtonSize(percent) - if VarsLoaded and EnteredWorld then - CyborgMMO_OpenButtonPage:SetScale(percent) - CyborgMMO_Settings["Cyborg"] = percent - local data = CyborgMMO_GetSaveData() - data["Settings"] = CyborgMMO_Settings - CyborgMMO_OptionPageCyborgSizeSlider:SetValue(percent) + CyborgMMO_OpenButtonPage:SetScale(percent) + CyborgMMO_OptionPageCyborgSizeSlider:SetValue(percent) + if SettingsLoaded then + Settings.Cyborg = percent end end -function CyborgMMO_SetCyborgHeadButton(boolVal) - CyborgMMO_Settings["CyborgButton"] = boolVal - CyborgMMO_OptionPageCyborgButton:SetChecked(boolVal) - if CyborgMMO_Settings["CyborgButton"] then - CyborgMMO_Close() +function CyborgMMO_SetCyborgHeadButton(visible) + if visible then + CyborgMMO_OpenButtonPage:Show() else CyborgMMO_OpenButtonPage:Hide() end - local data = CyborgMMO_GetSaveData() - data["Settings"] = CyborgMMO_Settings + CyborgMMO_OptionPageCyborgButton:SetChecked(visible) + if SettingsLoaded then + Settings.CyborgButton = visible + end end -function CyborgMMO_SetMiniMapButton(boolVal) - CyborgMMO_Settings["MiniMapButton"] = boolVal - CyborgMMO_OptionPageMiniMapButton:SetChecked(boolVal) - if CyborgMMO_Settings["MiniMapButton"] then +function CyborgMMO_SetMiniMapButton(visible) + if visible then CyborgMMO_MiniMapFrameButton:Show() else CyborgMMO_MiniMapFrameButton:Hide() end - local data = CyborgMMO_GetSaveData() - data["Settings"] = CyborgMMO_Settings + CyborgMMO_OptionPageMiniMapButton:SetChecked(visible) + if SettingsLoaded then + Settings.MiniMapButton = visible + end end