Quantcast

Raid marks and flares

Darthpred [07-11-14 - 22:12]
Raid marks and flares
Filename
ElvUI_SLE/modules/marks/flares.lua
ElvUI_SLE/modules/marks/marks.lua
ElvUI_SLE/options/marks_c.lua
diff --git a/ElvUI_SLE/modules/marks/flares.lua b/ElvUI_SLE/modules/marks/flares.lua
index 6497835..778420e 100644
--- a/ElvUI_SLE/modules/marks/flares.lua
+++ b/ElvUI_SLE/modules/marks/flares.lua
@@ -11,7 +11,7 @@ _G["BINDING_NAME_CLICK StarFlareMarker:LeftButton"] = L["Star Flare"];

 local mainFlares, f1, f2, f3, f4, f5, f6, FlareB

-function RF:CreateFrame()
+local function CreateFrames()
 	mainFlares = CreateFrame("Frame", "Main_Flares", E.UIParent)
 	mainFlares:Point("CENTER", E.UIParent, "CENTER", 0, 40);
 	mainFlares:SetFrameStrata('LOW');
@@ -29,7 +29,7 @@ function RF:CreateFrame()
 	FlareB = {f1,f2,f3,f4,f5,f6}
 end

-function RF:SetupButton(button, flare)
+local function SetupButton(button, flare)
 	if not mainFlares then return end
 	button:CreateBackdrop()
 	button.backdrop:SetAllPoints()
@@ -67,24 +67,24 @@ function RF:SetupButton(button, flare)
 	end
 end

-function RF:CreateButtons()
+local function CreateButtons()
 	if not mainFlares then return end
-	RF:SetupButton(f1, "/clearworldmarker 1\n/worldmarker 1")
-	RF:SetupButton(f2, "/clearworldmarker 2\n/worldmarker 2")
-	RF:SetupButton(f3, "/clearworldmarker 3\n/worldmarker 3")
-	RF:SetupButton(f4, "/clearworldmarker 4\n/worldmarker 4")
-	RF:SetupButton(f5, "/clearworldmarker 5\n/worldmarker 5")
-	RF:SetupButton(f6, "/clearworldmarker all")
+	SetupButton(f1, "/clearworldmarker 1\n/worldmarker 1")
+	SetupButton(f2, "/clearworldmarker 2\n/worldmarker 2")
+	SetupButton(f3, "/clearworldmarker 3\n/worldmarker 3")
+	SetupButton(f4, "/clearworldmarker 4\n/worldmarker 4")
+	SetupButton(f5, "/clearworldmarker 5\n/worldmarker 5")
+	SetupButton(f6, "/clearworldmarker all")
 end

-function RF:FrameButtonsSize()
+local function FrameButtonsSize()
 	if not mainFlares then return end
 	for i = 1, 6 do
 		FlareB[i]:Size(E.db.sle.flares.size)
 	end
 end

-function RF:FrameButtonsGrowth()
+local function FrameButtonsGrowth()
 	if not mainFlares then return end
 	local db = E.db.sle.flares
 	local size = db.size
@@ -116,7 +116,26 @@ function RF:FrameButtonsGrowth()
 	end
 end

-function RF:UpdateVisibility()
+local function Mouseover()
+	if not mainFlares then return end
+	local db = E.db.sle.flares
+	if db.mouseover then
+		mainFlares:SetScript("OnUpdate", function(self)
+			if MouseIsOver(self) then
+				UIFrameFadeIn(self, 0.2, self:GetAlpha(), 1)
+			else
+				UIFrameFadeOut(self, 0.2, self:GetAlpha(), 0)
+			end
+		end)
+	else
+		mainFlares:SetScript("OnUpdate", nil)
+		if mainFlares:IsShown() then
+			UIFrameFadeIn(mainFlares, 0.2, mainFlares:GetAlpha(), 1)
+		end
+	end
+end
+
+local function UpdateVisibility()
 	if not mainFlares then return end
 	local inInstance, instanceType = IsInInstance()
 	local db = E.db.sle.flares
@@ -143,10 +162,10 @@ function RF:UpdateVisibility()
 			FlareB[i]:Hide()
 		end
 	end
-	RF:Mouseover()
+	Mouseover()
 end

-function RF:Backdrop()
+local function Backdrop()
 	if not mainFlares then return end
 	if E.db.sle.flares.backdrop then
 		mainFlares.backdrop:Show()
@@ -155,39 +174,20 @@ function RF:Backdrop()
 	end
 end

-function RF:Mouseover()
-	if not mainFlares then return end
-	local db = E.db.sle.flares
-	if db.mouseover then
-		mainFlares:SetScript("OnUpdate", function(self)
-			if MouseIsOver(self) then
-				UIFrameFadeIn(self, 0.2, self:GetAlpha(), 1)
-			else
-				UIFrameFadeOut(self, 0.2, self:GetAlpha(), 0)
-			end
-		end)
-	else
-		mainFlares:SetScript("OnUpdate", nil)
-		if mainFlares:IsShown() then
-			UIFrameFadeIn(mainFlares, 0.2, mainFlares:GetAlpha(), 1)
-		end
-	end
-end
-
 function RF:Update()
 	if not mainFlares then return end
-	RF:FrameButtonsSize()
-	RF:FrameButtonsGrowth()
-	RF:UpdateVisibility()
-	RF:Backdrop()
+	FrameButtonsSize()
+	FrameButtonsGrowth()
+	UpdateVisibility()
+	Backdrop()
 end

 function RF:Initialize()
 	if not E.private.sle.marks.flares then return end
-	RF:CreateFrame()
+	CreateFrames()
 	RF:Update()
-	RF:CreateButtons()
-	self:RegisterEvent("PLAYER_ENTERING_WORLD", "UpdateVisibility");
+	CreateButtons()
+	self:RegisterEvent("PLAYER_ENTERING_WORLD", UpdateVisibility);

 	E:CreateMover(mainFlares, "FlareMover", "RF", nil, nil, nil, "ALL,S&L,S&L MISC")
 end
\ No newline at end of file
diff --git a/ElvUI_SLE/modules/marks/marks.lua b/ElvUI_SLE/modules/marks/marks.lua
index aef62d2..1299dad 100644
--- a/ElvUI_SLE/modules/marks/marks.lua
+++ b/ElvUI_SLE/modules/marks/marks.lua
@@ -8,7 +8,7 @@ local UIFrameFadeIn = UIFrameFadeIn
 local UIFrameFadeOut = UIFrameFadeOut

 --Main frame
-function RM:CreateFrame()
+local function CreateFrames()
 	mark_menu = CreateFrame("Frame", "Mark_Menu", E.UIParent)
 	mark_menu:Point("BOTTOMRIGHT", RightChatTab, "TOPRIGHT", 2, 3) --Default positon
 	mark_menu:SetFrameStrata('LOW');
@@ -29,7 +29,7 @@ function RM:CreateFrame()
 	mark_menu:Hide()
 end

-function RM:SetupButton(button, mark)
+local function SetupButton(button, mark)
 	button:CreateBackdrop()
 	button.backdrop:SetAllPoints()
 	button:SetAttribute("type", "macro")
@@ -42,15 +42,15 @@ function RM:SetupButton(button, mark)
 end

 --Buttons creation
-function RM:CreateButtons()
+local function CreateButtons()
 	if not mark_menu then return end
 	for i = 1, 8 do
-		RM:SetupButton(MarkB[i], 9 - i)
+		SetupButton(MarkB[i], 9 - i)
 	end
 end

 --Setting/updating buttons' size
-function RM:FrameButtonsSize()
+local function FrameButtonsSize()
 	if not mark_menu then return end
 	for i = 1, 8 do
 		MarkB[i]:Size(E.db.sle.marks.size)
@@ -58,7 +58,7 @@ function RM:FrameButtonsSize()
 end

 --Setting growth direction for buttons
-function RM:FrameButtonsGrowth()
+local function FrameButtonsGrowth()
 	if not mark_menu then return end
 	local db = E.db.sle.marks
 	local size = db.size
@@ -90,8 +90,27 @@ function RM:FrameButtonsGrowth()
 	end
 end

+local function Mouseover()
+	if not mark_menu then return end
+	local db = E.db.sle.marks
+	if db.mouseover then
+		mark_menu:SetScript("OnUpdate", function(self)
+			if MouseIsOver(self) then
+				UIFrameFadeIn(self, 0.2, self:GetAlpha(), 1)
+			else
+				UIFrameFadeOut(self, 0.2, self:GetAlpha(), 0)
+			end
+		end)
+	else
+		mark_menu:SetScript("OnUpdate", nil)
+		if mark_menu:IsShown() then
+			UIFrameFadeIn(mark_menu, 0.2, mark_menu:GetAlpha(), 1)
+		end
+	end
+end
+
 --Visibility/enable check
-function RM:UpdateVisibility()
+local function UpdateVisibility()
 	if not mark_menu then return end
 	local inInstance, instanceType = IsInInstance()
 	local db = E.db.sle.marks
@@ -129,20 +148,20 @@ function RM:UpdateVisibility()
 			MarkB[i]:Hide()
 		end
 	end
-	RM:Mouseover()
+	Mouseover()
 end

-function RM:Target()
+local function Target()
 	if not mark_menu then return end
 	local db = E.db.sle.marks
 	if db.target then
-		self:RegisterEvent("PLAYER_TARGET_CHANGED", "UpdateVisibility");
+		RM:RegisterEvent("PLAYER_TARGET_CHANGED", UpdateVisibility);
 	else
-		self:UnregisterEvent("PLAYER_TARGET_CHANGED");
+		RM:UnregisterEvent("PLAYER_TARGET_CHANGED");
 	end
 end

-function RM:Backdrop()
+local function Backdrop()
 	if not mark_menu then return end
 	if E.db.sle.marks.backdrop then
 		mark_menu.backdrop:Show()
@@ -151,40 +170,21 @@ function RM:Backdrop()
 	end
 end

-function RM:Mouseover()
-	if not mark_menu then return end
-	local db = E.db.sle.marks
-	if db.mouseover then
-		mark_menu:SetScript("OnUpdate", function(self)
-			if MouseIsOver(self) then
-				UIFrameFadeIn(self, 0.2, self:GetAlpha(), 1)
-			else
-				UIFrameFadeOut(self, 0.2, self:GetAlpha(), 0)
-			end
-		end)
-	else
-		mark_menu:SetScript("OnUpdate", nil)
-		if mark_menu:IsShown() then
-			UIFrameFadeIn(mark_menu, 0.2, mark_menu:GetAlpha(), 1)
-		end
-	end
-end
-
 function RM:Update()
 	if not mark_menu then return end
-	RM:FrameButtonsSize()
-	RM:FrameButtonsGrowth()
-	RM:Target()
-	RM:UpdateVisibility()
-	RM:Backdrop()
+	FrameButtonsSize()
+	FrameButtonsGrowth()
+	Target()
+	UpdateVisibility()
+	Backdrop()
 end

 function RM:Initialize()
 	if not E.private.sle.marks.marks then return end
-	RM:CreateFrame()
+	CreateFrames()
 	RM:Update()
-	RM:CreateButtons()
-	self:RegisterEvent("PLAYER_ENTERING_WORLD", "UpdateVisibility");
+	CreateButtons()
+	self:RegisterEvent("PLAYER_ENTERING_WORLD", UpdateVisibility);

 	E:CreateMover(mark_menu, "MarkMover", "RM", nil, nil, nil, "ALL,S&L,S&L MISC")
 end
\ No newline at end of file
diff --git a/ElvUI_SLE/options/marks_c.lua b/ElvUI_SLE/options/marks_c.lua
index d3dbafa..9c320fc 100644
--- a/ElvUI_SLE/options/marks_c.lua
+++ b/ElvUI_SLE/options/marks_c.lua
@@ -17,6 +17,7 @@ E.Options.args.sle.args.options.args.marks = {
 			order = 2,
 			type = "group",
 			name = L["Raid Marks"],
+			set = function(info, value) E.db.sle.marks[ info[#info] ]  = value; RM:Update() end,
 			args = {
 				marksheader = {
 					order = 1,
@@ -37,7 +38,6 @@ E.Options.args.sle.args.options.args.marks = {
 					name = L["Backdrop"],
 					disabled = function() return not E.private.sle.marks.marks end,
 					get = function(info) return E.db.sle.marks.backdrop end,
-					set = function(info, value) E.db.sle.marks.backdrop = value; RM:Backdrop() end
 				},
 				Reset = {
 					order = 4,
@@ -59,7 +59,6 @@ E.Options.args.sle.args.options.args.marks = {
 					desc = L["Selecting this option will have the Raid Markers appear only while in a raid or dungeon."],
 					disabled = function() return not E.private.sle.marks.marks end,
 					get = function(info) return E.db.sle.marks.showinside end,
-					set = function(info, value) E.db.sle.marks.showinside = value; RM:UpdateVisibility() end
 				},
 				target = {
 					order = 7,
@@ -68,7 +67,6 @@ E.Options.args.sle.args.options.args.marks = {
 					desc = L["Selecting this option will have the Raid Markers appear only when you have a target."],
 					disabled = function() return not E.private.sle.marks.marks end,
 					get = function(info) return E.db.sle.marks.target end,
-					set = function(info, value) E.db.sle.marks.target = value; RM:Target(); RM:UpdateVisibility() end
 				},
 				mouseover = {
 					order = 7,
@@ -77,7 +75,6 @@ E.Options.args.sle.args.options.args.marks = {
 					desc = L["Show on mouse over."],
 					disabled = function() return not E.private.sle.marks.marks end,
 					get = function(info) return E.db.sle.marks.mouseover end,
-					set = function(info, value) E.db.sle.marks.mouseover = value; RM:UpdateVisibility() end
 				},
 				size = {
 					order = 9,
@@ -87,7 +84,6 @@ E.Options.args.sle.args.options.args.marks = {
 					disabled = function() return not E.private.sle.marks.marks end,
 					min = 15, max = 30, step = 1,
 					get = function(info) return E.db.sle.marks.size end,
-					set = function(info, value) E.db.sle.marks.size = value; RM:FrameButtonsGrowth(); RM:FrameButtonsSize() end,
 				},
 				growth = {
 					order = 10,
@@ -96,7 +92,6 @@ E.Options.args.sle.args.options.args.marks = {
 					desc = L["Change the direction of buttons growth from the skull marker"],
 					disabled = function() return not E.private.sle.marks.marks end,
 					get = function(info) return E.db.sle.marks.growth end,
-					set = function(info, value) E.db.sle.marks.growth = value; RM:FrameButtonsGrowth() end,
 					values = {
 						['RIGHT'] = L["Right"],
 						['LEFT'] = L["Left"],
@@ -110,6 +105,7 @@ E.Options.args.sle.args.options.args.marks = {
 			order = 3,
 			type = "group",
 			name = L["Raid Flares"],
+			set = function(info, value) E.db.sle.flares[ info[#info] ]  = value; RF:Update() end,
 			args = {
 				header = {
 					order = 1,
@@ -130,7 +126,6 @@ E.Options.args.sle.args.options.args.marks = {
 					name = L["Backdrop"],
 					disabled = function() return not E.private.sle.marks.flares end,
 					get = function(info) return E.db.sle.flares.backdrop end,
-					set = function(info, value) E.db.sle.flares.backdrop = value; RF:Backdrop() end
 				},
 				spacer = {
 					order = 5,
@@ -144,7 +139,6 @@ E.Options.args.sle.args.options.args.marks = {
 					desc = L["Selecting this option will have the Raid Flares appear only while in a raid or dungeon."],
 					disabled = function() return not E.private.sle.marks.flares end,
 					get = function(info) return E.db.sle.flares.showinside end,
-					set = function(info, value) E.db.sle.flares.showinside = value; RF:UpdateVisibility() end
 				},
 				mouseover = {
 					order = 7,
@@ -153,7 +147,6 @@ E.Options.args.sle.args.options.args.marks = {
 					desc = L["Show on mouse over."],
 					disabled = function() return not E.private.sle.marks.flares end,
 					get = function(info) return E.db.sle.flares.mouseover end,
-					set = function(info, value) E.db.sle.flares.mouseover = value; RF:UpdateVisibility() end
 				},
 				tooltips = {
 					order = 8,
@@ -161,7 +154,6 @@ E.Options.args.sle.args.options.args.marks = {
 					name = L["Show Tooltip"],
 					disabled = function() return not E.private.sle.marks.flares end,
 					get = function(info) return E.db.sle.flares.tooltips end,
-					set = function(info, value) E.db.sle.flares.tooltips = value; end
 				},
 				size = {
 					order = 9,
@@ -171,7 +163,6 @@ E.Options.args.sle.args.options.args.marks = {
 					disabled = function() return not E.private.sle.marks.flares end,
 					min = 15, max = 30, step = 1,
 					get = function(info) return E.db.sle.flares.size end,
-					set = function(info, value) E.db.sle.flares.size = value; RF:FrameButtonsGrowth(); RF:FrameButtonsSize() end,
 				},
 				growth = {
 					order = 9,
@@ -180,7 +171,6 @@ E.Options.args.sle.args.options.args.marks = {
 					desc = L["Change the direction of buttons growth from the square marker"],
 					disabled = function() return not E.private.sle.marks.flares end,
 					get = function(info) return E.db.sle.flares.growth end,
-					set = function(info, value) E.db.sle.flares.growth = value; RF:FrameButtonsGrowth() end,
 					values = {
 						['RIGHT'] = L["Right"],
 						['LEFT'] = L["Left"],