"PLAYER_ENTERING_WORLD",
"PLAYER_TARGET_CHANGED",
},
+ ["pet"] = {
+ "UNIT_ENTERED_VEHICLE",
+ "UNIT_EXITED_VEHICLE",
+ "UNIT_PET",
+ "PLAYER_ENTERING_WORLD",
+ "PLAYER_LEVEL_UP",
+ "PLAYER_REGEN_DISABLED",
+ "PLAYER_REGEN_ENABLED",
+ },
};
local M = {};
frame:UnregisterAllEvents();
end
-local function showTooltip(frame)
- GameTooltip_SetDefaultAnchor(GameTooltip, frame);
- GameTooltip:SetUnit(frame:GetAttribute("unit"));
+local function showTooltip(secure)
+ GameTooltip_SetDefaultAnchor(GameTooltip, secure);
+ GameTooltip:SetUnit(secure:GetAttribute("unit"));
end
-local function hideTooltip(frame)
+local function hideTooltip(secure)
GameTooltip:FadeOut();
end
-local function setupFrame(frame, secure, unit)
+local function setupFrame(frame, secure, unit, width, height)
secure:SetAttribute("unit", unit);
frame:SetAttribute("unit", unit);
frame.unit = unit;
frame.vehicle = unit.."pet";
end
-- create visuals
+ secure:SetWidth(width+2);
+ secure:SetHeight(height+2);
+ frame:SetWidth(width+2);
+ frame:SetHeight(height+2);
+ frame.width = width;
frame.base = frame:CreateTexture(nil, "BACKGROUND");
frame.base:SetAllPoints();
frame.base:SetColorTexture(1, 1, 1);
frame.leader:SetPoint("TOPLEFT", frame.healthback, "TOPLEFT", -6, 6);
frame.leader:SetPoint("BOTTOMRIGHT", frame.healthback, "TOPLEFT", 6, -6);
frame.leader:Hide();
- frame.name = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlightLarge");
- frame.name:SetPoint("LEFT", frame.healthback, "LEFT", 2, 1);
- frame.level = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight");
- frame.level:SetPoint("LEFT", frame.manaback, "LEFT", 2, 1);
+ if unit ~= "pet" then
+ frame.name = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlightLarge");
+ frame.name:SetPoint("LEFT", frame.healthback, "LEFT", 2, 1);
+ frame.level = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight");
+ frame.level:SetPoint("LEFT", frame.manaback, "LEFT", 2, 1);
+ end
-- set scripts
frame:SetScript("OnShow", frameShow);
frame:SetScript("OnHide", frameHide);
local frame = CreateFrame("Frame", "OmaPlayer", parent);
local unit = "player";
secure:SetPoint("CENTER", parent, "CENTER", -300, -175);
- secure:SetWidth(width+2);
- secure:SetHeight(height+2);
frame:SetPoint("CENTER", parent, "CENTER", -300, -175);
- frame:SetWidth(width+2);
- frame:SetHeight(height+2);
- setupFrame(frame, secure, unit);
+ setupFrame(frame, secure, unit, width, height);
+ RegisterUnitWatch(frame);
+ RegisterUnitWatch(secure);
+ --RegisterStateDriver(secure, "vehicleui", "[vehicleui] vehicle; no");
+ --secure:SetAttribute("_onstate-vehicleui", vehicletoggle);
+end
+
+local function initializePet(parent)
+ local secure = CreateFrame("Button", "OmaPetSecure", parent, inheritedFrames);
+ local frame = CreateFrame("Frame", "OmaPet", parent);
+ local unit = "pet";
+ secure:SetPoint("TOPRIGHT", parent, "TOPLEFT", -10, 0);
+ frame:SetPoint("TOPRIGHT", parent, "TOPLEFT", -10, 0);
+ setupFrame(frame, secure, unit, width/2, height/2);
RegisterUnitWatch(frame);
RegisterUnitWatch(secure);
- RegisterStateDriver(secure, "vehicleui", "[vehicleui] vehicle; no");
- secure:SetAttribute("_onstate-vehicleui", vehicletoggle);
end
local function initializeTarget(parent)
local frame = CreateFrame("Frame", "OmaTarget", parent);
local unit = "target";
secure:SetPoint("CENTER", parent, "CENTER", 300, -175);
- secure:SetWidth(width+2);
- secure:SetHeight(height+2);
frame:SetPoint("CENTER", parent, "CENTER", 300, -175);
- frame:SetWidth(width+2);
- frame:SetHeight(height+2);
- setupFrame(frame, secure, unit);
+ setupFrame(frame, secure, unit, width, height);
createAuraFrame(frame, unit);
RegisterUnitWatch(frame);
RegisterUnitWatch(secure);
- RegisterStateDriver(secure, "vehicleui", "[vehicleui] vehicle; no");
- secure:SetAttribute("_onstate-vehicleui", vehicletoggle);
end
local function loadCharSettings()
GameTooltip = _G["GameTooltip"];
GameTooltip_SetDefaultAnchor = _G["GameTooltip_SetDefaultAnchor"];
initializePlayer(UIParent);
+ initializePet(_G["OmaPlayer"]);
initializeTarget(UIParent);
-- TODO boss frames, pet frame, (arena frames)
end
if hidden then return end
hidden = true;
- for _, frame in pairs({PlayerFrame, TargetFrame, TargetFrameToT}) do
+ for _, frame in pairs({PlayerFrame, TargetFrame, TargetFrameToT, PetFrame}) do
frame:UnregisterAllEvents();
frame.healthbar:UnregisterAllEvents();
frame.manabar:UnregisterAllEvents();