X-Git-Url: https://www.aleksib.fi/git/wowui.git/blobdiff_plain/a5940de0c59cc9f6acc34c09402dbe137fcf4650..3e6730c2c495d9016dde6cbb76c2bd6f86b05cbe:/OmaUF/PlayerFrame.lua?ds=sidebyside diff --git a/OmaUF/PlayerFrame.lua b/OmaUF/PlayerFrame.lua index 25d361e..1ce80da 100644 --- a/OmaUF/PlayerFrame.lua +++ b/OmaUF/PlayerFrame.lua @@ -2,14 +2,11 @@ local _; local unpack, pairs = unpack, pairs; local format = string.format; -local CreateFrame, RegisterStateDriver, RegisterUnitWatch = CreateFrame, RegisterStateDriver, RegisterUnitWatch; -local STANDARD_TEXT_FONT = STANDARD_TEXT_FONT; local GameTooltip = nil; local GameTooltip_SetDefaultAnchor = nil; local registerUnitEvents = OmaUFEvents.RegisterUnitEvents; local unitEvent = OmaUFEvents.UnitEvent; -local createAuraFrame = OmaUFAuras.CreateAuraFrame; local Settings = OmaUFSettings; local baseColor = Settings.BaseColor; @@ -29,7 +26,7 @@ local inheritedFrames = "SecureUnitButtonTemplate,SecureHandlerStateTemplate"; local function frameShow(frame) frame:RegisterEvent("UNIT_ENTERED_VEHICLE"); frame:RegisterEvent("UNIT_EXITED_VEHICLE"); - frame:RegisterEvent("UNIT_PET"); -- TODO needed? + frame:RegisterEvent("GROUP_ROSTER_UPDATE"); frame:RegisterEvent("PLAYER_ENTERING_WORLD"); frame:RegisterEvent("PLAYER_LEVEL_UP"); frame:RegisterEvent("PLAYER_REGEN_DISABLED"); @@ -46,13 +43,21 @@ end local function showTooltip(secure) GameTooltip_SetDefaultAnchor(GameTooltip, secure); - GameTooltip:SetUnit(secure:GetAttribute("unit")); + GameTooltip:SetUnit(secure:GetAttribute("displayed")); end local function hideTooltip(secure) GameTooltip:FadeOut(); end +local vehicletoggle = [=[ + if newstate == "vehicle" then + self:SetAttribute("displayed", self:GetAttribute("vehicle")); + else + self:SetAttribute("displayed", self:GetAttribute("unit")); + end +]=] + function OmaUnitFrames.InitializePlayer(parent) GameTooltip = _G["GameTooltip"]; GameTooltip_SetDefaultAnchor = _G["GameTooltip_SetDefaultAnchor"]; @@ -63,6 +68,8 @@ function OmaUnitFrames.InitializePlayer(parent) local unit = "player"; secure:SetPoint("CENTER", parent, "CENTER", anchorX, anchorY); secure:SetAttribute("unit", unit); + secure:SetAttribute("displayed", unit); + secure:SetAttribute("vehicle", "vehicle"); frame:SetPoint("CENTER", parent, "CENTER", anchorX, anchorY); frame:SetAttribute("unit", unit); frame.unit = unit; @@ -141,6 +148,12 @@ function OmaUnitFrames.InitializePlayer(parent) frame.leader:Hide(); frame.level = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); frame.level:SetPoint("LEFT", frame.manaback, "LEFT", 2, 1); + frame.targeticon = frame:CreateTexture(nil, "OVERLAY"); + frame.targeticon:SetPoint("CENTER", frame.healthback, "TOP"); + frame.targeticon:SetWidth(18); + frame.targeticon:SetHeight(18); + frame.targeticon:SetTexture("Interface\\TARGETINGFRAME\\UI-RaidTargetingIcons"); + frame.targeticon:Hide(); -- set scripts frame:SetScript("OnShow", frameShow); frame:SetScript("OnHide", frameHide); @@ -155,7 +168,10 @@ function OmaUnitFrames.InitializePlayer(parent) -- rest give target and menu secure:SetAttribute("*type1", "target"); secure:SetAttribute("*type2", "togglemenu"); + secure:SetAttribute("toggleForVehicle", true); RegisterUnitWatch(frame); RegisterUnitWatch(secure); + RegisterStateDriver(secure, "vehicleui", "[vehicleui] vehicle; no"); + secure:SetAttribute("_onstate-vehicleui", vehicletoggle); return frame; end