diff Hansgar_And_Franzok_Assist.lua @ 13:f635adb94909

- Added west and east sides for dance bar. - Main panel won't close with escape button.
author Tercio
date Tue, 28 Apr 2015 11:21:50 -0300
parents 6dd01dcec75e
children c4e00fefea9c
line wrap: on
line diff
--- a/Hansgar_And_Franzok_Assist.lua	Sat Apr 25 14:13:17 2015 -0300
+++ b/Hansgar_And_Franzok_Assist.lua	Tue Apr 28 11:21:50 2015 -0300
@@ -17,9 +17,9 @@
 local _
 
 --local f = CreateFrame ("frame", "Hansgar_And_Franzok_Assist", UIParent)
-local f = DF:Create1PxPanel (_, 155, 166, "Hans & Franz", "Hansgar_And_Franzok_Assist", nil, "top") --
+local f = DF:Create1PxPanel (_, 155, 166, "Hans & Franz", "Hansgar_And_Franzok_Assist", nil, "top", true)
 f:SetFrameStrata ("DIALOG")
-f.version = "v0.12"
+f.version = "v0.13"
 
 f.Close:SetScript ("OnClick", function (self)
 	if (f.StampersPhase) then
@@ -148,14 +148,20 @@
 --
 
 local player_pos_frame = CreateFrame ("frame", "Hansgar_And_Franzok_Assist_BarDance", UIParent)
---player_pos_frame:SetPoint ("topleft", player_bar, "bottomleft", 0, -3)
---player_pos_frame:SetPoint ("topright", player_bar, "bottomright", 0, -3)
+local player_pos_frame2 = CreateFrame ("frame", "Hansgar_And_Franzok_Assist_BarDance2", UIParent)
 
 player_pos_frame:SetPoint ("center", UIParent, "center", 0, -75)
+player_pos_frame2:SetPoint ("bottomleft", player_pos_frame, "bottomleft")
 
+player_pos_frame2:SetSize (6, 155)
 player_pos_frame:SetSize (155, 6)
-player_pos_frame:SetBackdrop ({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 16, insets = {left = -1, right = -1, top = -1, bottom = -1}})
+
+local player_pos_frame_backdrop = {bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 16, insets = {left = -1, right = -1, top = -1, bottom = -1}}
+player_pos_frame:SetBackdrop (player_pos_frame_backdrop)
+player_pos_frame2:SetBackdrop (player_pos_frame_backdrop)
 player_pos_frame:SetBackdropColor (0, 0, 0, 1)
+player_pos_frame2:SetBackdropColor (0, 0, 0, 1)
+player_pos_frame2:Hide()
 player_pos_frame:SetMovable (true)
 player_pos_frame:EnableMouse (true)
 player_pos_frame:SetScript ("OnMouseDown", function (self)
@@ -178,37 +184,65 @@
 t1:SetPoint ("left", player_pos_frame, "left")
 t1:SetSize (player_pos_frame:GetWidth()*0.30, 6)
 t1:SetTexture (1, 1, 1)
---t1:SetTexCoord (260/512, 430/512, 29/256, 82/256)
 t1:SetVertexColor (1, 0.2, 0.2, 0.4)
-
 --green
 local t2 = player_pos_frame:CreateTexture (nil, "artwork")
 t2:SetPoint ("left", t1, "right")
 t2:SetSize (player_pos_frame:GetWidth()*0.15, 6)
 t2:SetTexture (0.2, 1, 0.2, 0.4)
-
 --red
 local middle = player_pos_frame:CreateTexture (nil, "artwork")
 middle:SetPoint ("left", t2, "right")
 middle:SetSize (player_pos_frame:GetWidth()*0.10, 6)
 middle:SetTexture (1, 1, 1)
---middle:SetTexCoord (260/512, 430/512, 29/256, 82/256)
 middle:SetVertexColor (1, 0.2, 0.2, 0.4)
-
 --green
 local t3 = player_pos_frame:CreateTexture (nil, "artwork")
 t3:SetPoint ("left", middle, "right")
 t3:SetSize (player_pos_frame:GetWidth()*0.15, 6)
 t3:SetTexture (0.2, 1, 0.2, 0.4)
-
 --red
 local t4 = player_pos_frame:CreateTexture (nil, "artwork")
 t4:SetPoint ("left", t3, "right")
 t4:SetSize (player_pos_frame:GetWidth()*0.30, 6)
 t4:SetTexture (1, 1, 1)
---t4:SetTexCoord (260/512, 430/512, 29/256, 82/256)
 t4:SetVertexColor (1, 0.2, 0.2, 0.4)
 
+--red
+local t1_2 = player_pos_frame:CreateTexture (nil, "artwork")
+t1_2:SetPoint ("bottomleft", player_pos_frame, "bottomleft")
+t1_2:SetSize (6, player_pos_frame:GetWidth()*0.30)
+t1_2:SetTexture (1, 1, 1)
+t1_2:SetVertexColor (1, 0.2, 0.2, 0.4)
+--green
+local t2_2 = player_pos_frame:CreateTexture (nil, "artwork")
+t2_2:SetPoint ("bottom", t1_2, "top")
+t2_2:SetSize (6, player_pos_frame:GetWidth()*0.15)
+t2_2:SetTexture (0.2, 1, 0.2, 0.4)
+--red
+local middle_2 = player_pos_frame:CreateTexture (nil, "artwork")
+middle_2:SetPoint ("bottom", t2_2, "top")
+middle_2:SetSize (6, player_pos_frame:GetWidth()*0.10)
+middle_2:SetTexture (1, 1, 1)
+middle_2:SetVertexColor (1, 0.2, 0.2, 0.4)
+--green
+local t3_2 = player_pos_frame:CreateTexture (nil, "artwork")
+t3_2:SetPoint ("bottom", middle_2, "top")
+t3_2:SetSize (6, player_pos_frame:GetWidth()*0.15)
+t3_2:SetTexture (0.2, 1, 0.2, 0.4)
+--red
+local t4_2 = player_pos_frame:CreateTexture (nil, "artwork")
+t4_2:SetPoint ("bottom", t3_2, "top")
+t4_2:SetSize (6, player_pos_frame:GetWidth()*0.30)
+t4_2:SetTexture (1, 1, 1)
+t4_2:SetVertexColor (1, 0.2, 0.2, 0.4)
+
+t1_2:Hide()
+t2_2:Hide()
+t3_2:Hide()
+t4_2:Hide()
+middle_2:Hide()
+
 local div = player_pos_frame:CreateTexture (nil, "overlay")
 div:SetPoint ("left", player_pos_frame, "left", 0, 0)
 div:SetTexture (1, 1, 1, 1)
@@ -1136,8 +1170,42 @@
 local green_alpha_disabled = 0.05
 local green_alpha_enabled = 0.9
 
--- true north -> south
--- false south -> north
+function f:ChangeDanceBar (facing)
+	
+	if (facing == 1 or facing == 2) then --> north or south
+		t1_2:Hide()
+		t2_2:Hide()
+		t3_2:Hide()
+		t4_2:Hide()
+		middle_2:Hide()
+		t1:Show()
+		t2:Show()
+		t3:Show()
+		t4:Show()
+		middle:Show()
+		
+		player_pos_frame2:Hide()
+		player_pos_frame:SetBackdropColor (0, 0, 0, 1)
+		
+	elseif (facing == 3 or facing == 4) then --> west or east
+		t1_2:Show()
+		t2_2:Show()
+		t3_2:Show()
+		t4_2:Show()
+		middle_2:Show()
+		t1:Hide()
+		t2:Hide()
+		t3:Hide()
+		t4:Hide()
+		middle:Hide()
+		
+		player_pos_frame:SetBackdropColor (0, 0, 0, 0)
+		player_pos_frame2:Show()
+		
+	end
+	
+end
+
 local track_function = function (self, elapsed)
 
 	local x, _ = GetPlayerMapPosition ("player")
@@ -1146,13 +1214,26 @@
 	if (db.AUTO_FACING and x) then
 		local facing = GetPlayerFacing()
 		
-		if (self.facing and (facing > 5.3 or facing < 1.053)) then --north -> south -- ~30º tolerance
-			self.facing = false
-			--print ("changing face to south")
-		elseif (not self.facing and (facing > 2.3 and facing < 4.3)) then --south -> north -- ~30º tolerance
-			self.facing = true
-			--print ("changing face to north")
+		-- get 4 directions in radians
+		local current = self.facing
+		if (facing < 0.7 or facing > 5.6) then --north
+			--print ("north")
+			self.facing = 1
+		elseif (facing >= 0.7 and facing < 2.45) then --west
+			--print ("west")
+			self.facing = 3
+		elseif (facing > 2.45 and facing < 3.85) then --south
+			--print ("south")
+			self.facing = 2
+		elseif (facing >= 3.85 and facing <= 5.6) then --east
+			--print ("east")
+			self.facing = 4
 		end
+		
+		if (current ~= self.facing) then
+			f:ChangeDanceBar (self.facing)
+		end
+		
 	end
 
 	if (x) then
@@ -1170,39 +1251,66 @@
 		player_pos_frame:Show()
 		block = safe_track [block]
 		
+		if (self.facing == 3 or self.facing == 4) then --> west
+			player_pos_frame2:Show()
+		end
+		
 		if (x >= block.left.x2 and x <= block.left.x1) then
-			if (self.facing) then
+			if (self.facing == 2) then --> south
 				t2:SetTexture (0.1, 1, 0.1, green_alpha_enabled)
 				t3:SetTexture (0.2, 1, 0.2, green_alpha_disabled)
-			else
+			elseif (self.facing == 1) then --> north
 				t3:SetTexture (0.2, 232/255, 1, green_alpha_enabled)
 				t2:SetTexture (0.2, 232/255, 1, green_alpha_disabled)
+			elseif (self.facing == 3) then --> west
+				t2_2:SetTexture (0.1, 1, 0.1, green_alpha_enabled)
+				t3_2:SetTexture (0.2, 1, 0.2, green_alpha_disabled)
+			elseif (self.facing == 4) then --> east
+				t3_2:SetTexture (0.2, 232/255, 1, green_alpha_enabled)
+				t2_2:SetTexture (0.2, 232/255, 1, green_alpha_disabled)
 			end
 			
 			t1:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red
 			t4:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red 
 			middle:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red
+			t1_2:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red
+			t4_2:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red 
+			middle_2:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red
 			
 		elseif (x <= block.right.x2 and x >= block.right.x1) then
-			if (self.facing) then
+			if (self.facing == 2) then --> south
 				t3:SetTexture (0.1, 1, 0.1, green_alpha_enabled)
 				t2:SetTexture (0.2, 1, 0.2, green_alpha_disabled)
-			else
+			elseif (self.facing == 1) then --> north
 				t2:SetTexture (0.2, 232/255, 1, green_alpha_enabled)
 				t3:SetTexture (0.2, 232/255, 1, green_alpha_disabled)
+			elseif (self.facing == 3) then --> west
+				t3_2:SetTexture (0.1, 1, 0.1, green_alpha_enabled)
+				t2_2:SetTexture (0.2, 1, 0.2, green_alpha_disabled)
+			elseif (self.facing == 4) then --> east
+				t2_2:SetTexture (0.2, 232/255, 1, green_alpha_enabled)
+				t3_2:SetTexture (0.2, 232/255, 1, green_alpha_disabled)
 			end
 			
 			t1:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red
 			t4:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red 
 			middle:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red
+			t1_2:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red
+			t4_2:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red 
+			middle_2:SetVertexColor (1, 0.2, 0.2, red_alpha_disabled) --red
 			
 		else
 			t1:SetVertexColor (1, 0.2, 0.2, red_alpha_enabled) --red
 			t4:SetVertexColor (1, 0.2, 0.2, red_alpha_enabled) --red 
 			middle:SetVertexColor (1, 0.2, 0.2, red_alpha_enabled) --red
+			t1_2:SetVertexColor (1, 0.2, 0.2, red_alpha_enabled) --red
+			t4_2:SetVertexColor (1, 0.2, 0.2, red_alpha_enabled) --red 
+			middle_2:SetVertexColor (1, 0.2, 0.2, red_alpha_enabled) --red
 			
 			t2:SetTexture (0.2, 1, 0.2, green_alpha_disabled)
 			t3:SetTexture (0.2, 1, 0.2, green_alpha_disabled)
+			t2_2:SetTexture (0.2, 1, 0.2, green_alpha_disabled)
+			t3_2:SetTexture (0.2, 1, 0.2, green_alpha_disabled)
 			
 		end
 		
@@ -1215,6 +1323,7 @@
 			player_pos_frame:Show()
 		else
 			player_pos_frame:Hide()
+			player_pos_frame2:Hide()
 		end
 	end
 end
@@ -1228,6 +1337,7 @@
 end
 function f:EndTrackPlayerPosition()
 	player_pos_frame:Hide()
+	player_pos_frame2:Hide()
 	tframe:SetScript ("OnUpdate", nil)
 end