working on more detailed tooltips

This commit is contained in:
Manuel Simon Hirsig
2015-09-29 19:31:22 +02:00
parent 51d792c425
commit 6ad0a8da8a
3 changed files with 49 additions and 29 deletions
+8 -8
View File
@@ -159,9 +159,8 @@ end
-----------------------------------------
function AuxBuyEntry_OnClick()
local entryIndex = this:GetID()
local entry = entries[entryIndex]
local i = this:GetID()
local entry = entries[i]
if Aux_SetContains(selectedEntries, entry) then
Aux_RemoveFromSet(selectedEntries, entry)
@@ -175,13 +174,14 @@ function AuxBuyEntry_OnClick()
end
function AuxBuyEntry_OnEnter()
local entryIndex = this:GetID()
local entry = entries[entryIndex]
local i = this:GetID()
local entry = entries[i]
local _, _, itemString = strfind(entry.hyperlink, "^|%x+|H(.+)|h%[.+%]")
if itemString then
-- Aux.info.set_game_tooltip(this, entry.tooltip)
local _, _, item_string = strfind(entry.hyperlink, "^|%x+|H(.+)|h%[.+%]")
if item_string then
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
GameTooltip:SetHyperlink(itemString)
GameTooltip:SetHyperlink(item_string)
GameTooltip:Show()
if(EnhTooltip ~= nil) then
+10 -3
View File
@@ -505,8 +505,15 @@ end
function Aux.auction_key(tooltip, stack_size, buyout_price)
local key = ''
for i, entry in ipairs(tooltip) do
key = key .. (i == 1 and '' or '_')
for i, line in ipairs(tooltip) do
local left_text = line[1].text
local right_text = line[2].text
if left_text then
key = key .. left_text .. (i == 1 and '' or '_')
end
if right_text then
key = key .. right_text .. '_'
end
end
return key .. '_' .. stack_size .. '_' .. buyout_price
return key .. stack_size .. '_' .. buyout_price
end
+31 -18
View File
@@ -76,10 +76,22 @@ function Aux.info.auction_item(index)
return auction_item
end
function Aux.info.set_game_tooltip(owner, tooltip)
GameTooltip:SetOwner(owner, "ANCHOR_RIGHT")
for i, line in ipairs(tooltip) do
snipe.log(line[1].text)
getglobal('GameTooltipTextLeft'..i):SetText(line[1].text)
getglobal('GameTooltipTextLeft'..i):SetTextColor(line[1].color[1], line[1].color[2], line[1].color[3], line[1].color[4])
getglobal('GameTooltipTextRight'..i):SetText(line[2].text)
getglobal('GameTooltipTextRight'..i):SetTextColor(line[2].color[1], line[2].color[2], line[2].color[3], line[2].color[4])
end
GameTooltip:Show()
end
function Aux.info.tooltip(setter)
for j = 1, 30 do
leftEntry = getglobal('AuxInfoTooltipTextLeft'..j):SetText()
rightEntry = getglobal('AuxInfoTooltipTextRight'..j):SetText()
for i = 1, 30 do
getglobal('AuxInfoTooltipTextLeft'..i):SetText()
getglobal('AuxInfoTooltipTextRight'..i):SetText()
end
AuxInfoTooltip:SetOwner(UIParent, "ANCHOR_NONE")
@@ -87,29 +99,30 @@ function Aux.info.tooltip(setter)
AuxInfoTooltip:Show()
local tooltip = {}
for j = 1, 30 do
local leftEntry = getglobal('AuxInfoTooltipTextLeft'..j):GetText()
if leftEntry then
tinsert(tooltip, leftEntry)
end
local rightEntry = getglobal('AuxInfoTooltipTextRight'..j):GetText()
if rightEntry then
tinsert(tooltip, rightEntry)
end
for i = 1, 30 do
local left_text = getglobal('AuxInfoTooltipTextLeft'..i):GetText()
local left_color = { getglobal('AuxInfoTooltipTextLeft'..i):GetTextColor() }
local right_text = getglobal('AuxInfoTooltipTextRight'..i):GetText()
local right_color = { getglobal('AuxInfoTooltipTextRight'..i):GetTextColor() }
tinsert(tooltip, {{ text=left_text, color=left_color }, { text=right_text, color=right_color }})
end
for j = 1, 30 do
leftEntry = getglobal('AuxInfoTooltipTextLeft'..j):SetText()
rightEntry = getglobal('AuxInfoTooltipTextRight'..j):SetText()
for i = 1, 30 do
getglobal('AuxInfoTooltipTextLeft'..i):SetText()
getglobal('AuxInfoTooltipTextRight'..i):SetText()
end
return tooltip
end
function item_charges(tooltip)
for _, entry in ipairs(tooltip) do
local _, _, charges_string = strfind(entry, "(%d+) Charges")
local charges = tonumber(charges_string)
for _, line in ipairs(tooltip) do
local left_text = line[1].text or ''
local right_text = line[2].text or ''
local _, _, left_charges_string = strfind(left_text, "^(%d+) Charges")
local _, _, right_charges_string = strfind(right_text, "^(%d+) Charges$")
local charges = tonumber(left_charges_string) or tonumber(right_charges_string)
if charges then
return charges
end