no luck yet....
i think it has to do with to many frames hooked to each other it does not show hide the right ones or something.... i dont know. the base looks like this
lua Code:
-- party frame 1 unit watch
local GrimMPartyFrame1 = CreateFrame("frame", "GrimMPartyFrame1", GrimPartyMain, "SecureUnitButtonTemplate")
GrimMPartyFrame1:SetAttribute('unit', 'party1')
RegisterUnitWatch(GrimMPartyFrame1)
GrimUI.GrimMPartyFrame1 = GrimMPartyFrame1
-- party frame 2 unit watch
local GrimMPartyFrame2 = CreateFrame("frame", "GrimMPartyFrame2", GrimPartyMain, "SecureUnitButtonTemplate")
GrimMPartyFrame2:SetAttribute('unit', 'party2')
RegisterUnitWatch(GrimMPartyFrame2)
GrimUI.GrimMPartyFrame2 = GrimMPartyFrame2
-- party frame 3 unit watch
local GrimMPartyFrame3 = CreateFrame("frame", "GrimMPartyFrame3", GrimPartyMain, "SecureUnitButtonTemplate")
GrimMPartyFrame3:SetAttribute('unit', 'party3')
RegisterUnitWatch(GrimMPartyFrame3)
GrimUI.GrimMPartyFrame3 = GrimMPartyFrame3
-- party frame 4 unit watch
local GrimMPartyFrame4 = CreateFrame("frame", "GrimMPartyFrame4", GrimPartyMain, "SecureUnitButtonTemplate")
GrimMPartyFrame4:SetAttribute('unit', 'party4')
RegisterUnitWatch(GrimMPartyFrame4)
GrimUI.GrimMPartyFrame4 = GrimMPartyFrame4
---- hide party frames in raid ----
local RaidPartyHandler = CreateFrame("Frame", "RaidPartyHandler", UIParent, "SecureHandlerStateTemplate");
SecureHandler_OnLoad(RaidPartyHandler);
RaidPartyHandler.GrimPartyMain = CreateFrame("Frame", nil, RaidPartyHandler);
RaidPartyHandler:SetFrameRef("GrimPartyMain", RaidPartyHandler.GrimPartyMain);
RaidPartyHandler:Execute([[
GrimPartyMain = self:GetFrameRef("GrimPartyMain");
]]);
RaidPartyHandler:SetAttribute("_onstate-unitexists", [[
if newstate then
GrimPartyMain:Hide()
else
GrimPartyMain:Show()
end
]]);
RaidPartyHandler:SetAttribute("unit", "raid1");
RegisterUnitWatch(RaidPartyHandler, true);
RaidPartyHandler:SetAttribute("state-unitexists", UnitExists("raid1"));