
Сообщение от
TØPGUN
Только не сдавайся, ладно?
не знаю как обяснить это) Вообщем все нето ,нужен стандарт , в то время как абу похож на стандарт , почему то играть на нем не удобно( Не знаю иза чего это , мб иза того что 6 лет на дефолте бегал ...
PS Крольчонок очень помогает , сейчас пропал , в момент траблы с якорями) Знаю почему не робит но не знаю как исправить... По идее , если поможет в ближайшее свободное время от занятий кину в пм потестишь т.к у меня сейчас времени особо нет , сижу на перерывах с бука эксперементирую , слава богу вай фай есть)
PS мб кто доработает ...
PHP код:
local Test = unpack(select(2, ...));
local FRAMES = {
PlayerFrame,
TargetFrame,
FocusFrame,
PartyMemberFrame1,
ArenaEnemyFrame1,
}
function Test:CreateAnchorMovable(frame)
if(frame:IsShown()) then
frame:EnableMouse(true)
frame:SetMovable(true)
frame:SetScript("OnMouseDown", function(self) self:StartMoving() end)
frame:SetScript("OnMouseUp", function(self) self:StopMovingOrSizing()
frame.x1,frame.y1 = self:GetLeft(),self:GetBottom()
frame.x2 = frame.x1+frame:GetWidth()
frame.y2 = frame.y1+frame:GetHeight()
self:ClearAllPoints()
self:SetPoint("BOTTOMLEFT",UIParent,"BOTTOMLEFT",frame.x1,frame.y1)
self:SetPoint("TOPRIGHT",UIParent,"BOTTOMLEFT",frame.x2,frame.y2)
end)
frame.marker = CreateFrame("Frame",nil,frame)
frame.marker:SetParent(frame)
frame.marker:SetAllPoints(frame)
local tex = frame.marker:CreateTexture("ARTWORK");
tex:SetAllPoints();
tex:SetTexture(0, 1, 0);
tex:SetAlpha(0.5);
frame.marker:SetFrameStrata("FULLSCREEN")
frame.marker:Show()
end
end
function Test:HideAnchorMovable(frame)
frame:SetMovable(false)
frame:SetScript("OnMouseDown", function(self) end)
frame:SetScript("OnMouseUp", function(self) end)
if(frame.marker) then
frame.marker:Hide()
frame.marker = nil
end
if(frame.x1) then
FrameName = frame:GetName()
DB[FrameName] = {x1=frame.x1,y1=frame.y1,x2=frame.x2,y2=frame.y2}
end
end
local lock = true
function Test:unlock()
if(lock) then
print("разблокированно");
for ndx,frame in pairs(FRAMES) do Test:CreateAnchorMovable(frame) end
else
print("заблокированно");
for ndx,frame in pairs(FRAMES) do Test:HideAnchorMovable(frame) end
end
lock = not lock
end
function Test:GetPos(frame)
for name,_ in pairs(DB) do
FrameName =frame:GetName()
if (name==FrameName) then
frame:ClearAllPoints()
frame:SetPoint("BOTTOMLEFT",UIParent,"BOTTOMLEFT",DB[name].x1,DB[name].y1)
frame:SetPoint("TOPRIGHT",UIParent,"BOTTOMLEFT",DB[name].x2,DB[name].y2)
end
end
end
function Test:UpdateAnchor()
if(TestData) then
DB = TestData
for ndx,frame in pairs(FRAMES) do Test:GetPos(frame) end
else
TestData = DB
end
end