режим предателя + UI референсы и DragonUI
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
READY_CHECK_WAITING_TEXTURE = "Interface\\RaidFrame\\ReadyCheck-Waiting";
|
||||
READY_CHECK_READY_TEXTURE = "Interface\\RaidFrame\\ReadyCheck-Ready";
|
||||
READY_CHECK_NOT_READY_TEXTURE = "Interface\\RaidFrame\\ReadyCheck-NotReady";
|
||||
READY_CHECK_AFK_TEXTURE = "Interface\\RaidFrame\\ReadyCheck-NotReady";
|
||||
|
||||
|
||||
--
|
||||
-- ReadyCheckFrame
|
||||
--
|
||||
|
||||
function ShowReadyCheck(initiator, timeLeft)
|
||||
ReadyCheckFrame.initiator = initiator;
|
||||
if ( initiator ) then
|
||||
ReadyCheckFrame:Show();
|
||||
if ( UnitIsUnit("player", initiator) ) then
|
||||
ReadyCheckListenerFrame:Hide();
|
||||
else
|
||||
SetPortraitTexture(ReadyCheckPortrait, initiator);
|
||||
ReadyCheckFrameText:SetFormattedText(READY_CHECK_MESSAGE, initiator);
|
||||
ReadyCheckListenerFrame:Show();
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function ReadyCheckFrame_OnLoad(self)
|
||||
self:RegisterEvent("READY_CHECK");
|
||||
self:RegisterEvent("READY_CHECK_FINISHED");
|
||||
end
|
||||
|
||||
function ReadyCheckFrame_OnEvent(self, event, ...)
|
||||
if ( event == "READY_CHECK" ) then
|
||||
ShowReadyCheck(...);
|
||||
elseif ( event == "READY_CHECK_FINISHED" ) then
|
||||
local preempted = ...;
|
||||
if ( not preempted and self.initiator and not UnitIsUnit("player", self.initiator) ) then
|
||||
local info = ChatTypeInfo["SYSTEM"];
|
||||
DEFAULT_CHAT_FRAME:AddMessage(READY_CHECK_YOU_WERE_AFK, info.r, info.g, info.b, info.id);
|
||||
end
|
||||
self:Hide();
|
||||
end
|
||||
end
|
||||
|
||||
function ReadyCheckFrame_OnHide(self)
|
||||
self.initiator = nil;
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- ReadyCheck unit frame functions
|
||||
--
|
||||
|
||||
function ReadyCheck_Start(readyCheckFrame)
|
||||
readyCheckFrame:SetScript("OnUpdate", nil);
|
||||
|
||||
_G[readyCheckFrame:GetName().."Texture"]:SetTexture(READY_CHECK_WAITING_TEXTURE);
|
||||
readyCheckFrame.state = "waiting";
|
||||
readyCheckFrame:SetAlpha(1);
|
||||
readyCheckFrame:Show();
|
||||
end
|
||||
|
||||
function ReadyCheck_Confirm(readyCheckFrame, ready)
|
||||
readyCheckFrame:SetScript("OnUpdate", nil);
|
||||
|
||||
if ( ready == 1 ) then
|
||||
_G[readyCheckFrame:GetName().."Texture"]:SetTexture(READY_CHECK_READY_TEXTURE);
|
||||
readyCheckFrame.state = "ready";
|
||||
else
|
||||
_G[readyCheckFrame:GetName().."Texture"]:SetTexture(READY_CHECK_NOT_READY_TEXTURE);
|
||||
readyCheckFrame.state = "notready";
|
||||
end
|
||||
readyCheckFrame:SetAlpha(1);
|
||||
readyCheckFrame:Show();
|
||||
end
|
||||
|
||||
function ReadyCheck_Finish(readyCheckFrame, fadeTime, onFinishFunc, onFinishFuncArg)
|
||||
if ( readyCheckFrame.state == "waiting" ) then
|
||||
_G[readyCheckFrame:GetName().."Texture"]:SetTexture(READY_CHECK_AFK_TEXTURE);
|
||||
readyCheckFrame.state = "afk";
|
||||
end
|
||||
|
||||
readyCheckFrame:SetScript("OnUpdate", ReadyCheck_OnUpdate);
|
||||
readyCheckFrame.finishedTimer = 10;
|
||||
if ( fadeTime ) then
|
||||
readyCheckFrame.fadeTimer = fadeTime;
|
||||
else
|
||||
readyCheckFrame.fadeTimer = 1.5;
|
||||
end
|
||||
readyCheckFrame.onFinishFunc = onFinishFunc;
|
||||
readyCheckFrame.onFinishFuncArg = onFinishFuncArg;
|
||||
end
|
||||
|
||||
function ReadyCheck_OnUpdate(readyCheckFrame, elapsed)
|
||||
if ( readyCheckFrame.finishedTimer ) then
|
||||
readyCheckFrame.finishedTimer = readyCheckFrame.finishedTimer - elapsed;
|
||||
if ( readyCheckFrame.finishedTimer <= 0 ) then
|
||||
readyCheckFrame.finishedTimer = nil;
|
||||
end
|
||||
elseif ( readyCheckFrame.fadeTimer ) then
|
||||
readyCheckFrame.fadeTimer = readyCheckFrame.fadeTimer - elapsed;
|
||||
readyCheckFrame:SetAlpha(readyCheckFrame.fadeTimer / 1.5);
|
||||
if ( readyCheckFrame.fadeTimer <= 0 ) then
|
||||
readyCheckFrame.fadeTimer = nil;
|
||||
readyCheckFrame:Hide();
|
||||
readyCheckFrame:SetScript("OnUpdate", nil);
|
||||
readyCheckFrame.state = nil;
|
||||
if ( readyCheckFrame.onFinishFunc ) then
|
||||
readyCheckFrame.onFinishFunc(readyCheckFrame.onFinishFuncArg);
|
||||
readyCheckFrame.onFinishFunc = nil;
|
||||
readyCheckFrame.onFinishFuncArg = nil;
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user