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;
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");
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"];
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;
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);
-- 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