режим предателя + UI референсы и DragonUI
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
|
||||
ZoneFadeInDuration = 0.5;
|
||||
ZoneHoldDuration = 1.0;
|
||||
ZoneFadeOutDuration = 2.0;
|
||||
ZonePVPType = nil;
|
||||
|
||||
function SetZoneText(showZone)
|
||||
local pvpType, isSubZonePvP, factionName = GetZonePVPInfo();
|
||||
PVPArenaTextString:SetText("");
|
||||
PVPInfoTextString:SetText("");
|
||||
local pvpTextString = PVPInfoTextString;
|
||||
if ( isSubZonePvP ) then
|
||||
pvpTextString = PVPArenaTextString;
|
||||
end
|
||||
|
||||
if ( pvpType == "sanctuary" ) then
|
||||
pvpTextString:SetText(SANCTUARY_TERRITORY);
|
||||
pvpTextString:SetTextColor(0.41, 0.8, 0.94);
|
||||
ZoneTextString:SetTextColor(0.41, 0.8, 0.94);
|
||||
SubZoneTextString:SetTextColor(0.41, 0.8, 0.94);
|
||||
elseif ( pvpType == "arena" ) then
|
||||
pvpTextString:SetText(FREE_FOR_ALL_TERRITORY);
|
||||
pvpTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
ZoneTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
SubZoneTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
elseif ( pvpType == "friendly" ) then
|
||||
pvpTextString:SetFormattedText(FACTION_CONTROLLED_TERRITORY, factionName);
|
||||
pvpTextString:SetTextColor(0.1, 1.0, 0.1);
|
||||
ZoneTextString:SetTextColor(0.1, 1.0, 0.1);
|
||||
SubZoneTextString:SetTextColor(0.1, 1.0, 0.1);
|
||||
elseif ( pvpType == "hostile" ) then
|
||||
pvpTextString:SetFormattedText(FACTION_CONTROLLED_TERRITORY, factionName);
|
||||
pvpTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
ZoneTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
SubZoneTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
elseif ( pvpType == "contested" ) then
|
||||
pvpTextString:SetText(CONTESTED_TERRITORY);
|
||||
pvpTextString:SetTextColor(1.0, 0.7, 0);
|
||||
ZoneTextString:SetTextColor(1.0, 0.7, 0);
|
||||
SubZoneTextString:SetTextColor(1.0, 0.7, 0);
|
||||
elseif ( pvpType == "combat" ) then
|
||||
pvpTextString:SetText(COMBAT_ZONE);
|
||||
pvpTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
ZoneTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
SubZoneTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
else
|
||||
ZoneTextString:SetTextColor(1.0, 0.9294, 0.7607);
|
||||
SubZoneTextString:SetTextColor(1.0, 0.9294, 0.7607);
|
||||
end
|
||||
|
||||
if ( ZonePVPType ~= pvpType ) then
|
||||
ZonePVPType = pvpType;
|
||||
-- FadingFrame_Show(ZoneTextFrame);
|
||||
elseif ( not showZone ) then
|
||||
PVPInfoTextString:SetText("");
|
||||
SubZoneTextString:SetPoint("TOP", "ZoneTextString", "BOTTOM", 0, 0);
|
||||
end
|
||||
|
||||
if ( PVPInfoTextString:GetText() == "" ) then
|
||||
SubZoneTextString:SetPoint("TOP", "ZoneTextString", "BOTTOM", 0, 0);
|
||||
else
|
||||
SubZoneTextString:SetPoint("TOP", "PVPInfoTextString", "BOTTOM", 0, 0);
|
||||
end
|
||||
end
|
||||
|
||||
function ZoneText_OnLoad(self)
|
||||
FadingFrame_OnLoad(self);
|
||||
FadingFrame_SetFadeInTime(self, ZoneFadeInDuration);
|
||||
FadingFrame_SetHoldTime(self, ZoneHoldDuration);
|
||||
FadingFrame_SetFadeOutTime(self, ZoneFadeOutDuration);
|
||||
self:RegisterEvent("ZONE_CHANGED");
|
||||
self:RegisterEvent("ZONE_CHANGED_INDOORS");
|
||||
self:RegisterEvent("ZONE_CHANGED_NEW_AREA");
|
||||
self.zoneText = "";
|
||||
ZonePVPType = nil;
|
||||
end
|
||||
|
||||
function ZoneText_OnEvent(self, event, ...)
|
||||
local showZoneText = false;
|
||||
local zoneText = GetZoneText();
|
||||
if ( (zoneText ~= self.zoneText) or (event == "ZONE_CHANGED_NEW_AREA") ) then
|
||||
self.zoneText = zoneText;
|
||||
ZoneTextString:SetText( zoneText );
|
||||
showZoneText = true;
|
||||
SetZoneText( showZoneText );
|
||||
FadingFrame_Show( self );
|
||||
end
|
||||
|
||||
local subzoneText = GetSubZoneText();
|
||||
if ( subzoneText == "" and not showZoneText) then
|
||||
subzoneText = zoneText;
|
||||
end
|
||||
SubZoneTextString:SetText( "" );
|
||||
|
||||
if ( subzoneText == zoneText ) then
|
||||
showZoneText = false;
|
||||
if ( not self:IsShown() ) then
|
||||
SubZoneTextString:SetText( subzoneText );
|
||||
SetZoneText( showZoneText );
|
||||
FadingFrame_Show( SubZoneTextFrame );
|
||||
end
|
||||
else
|
||||
if (self:IsShown()) then
|
||||
showZoneText = true;
|
||||
end
|
||||
SubZoneTextString:SetText( subzoneText );
|
||||
SetZoneText( showZoneText );
|
||||
FadingFrame_Show( SubZoneTextFrame );
|
||||
end
|
||||
end
|
||||
|
||||
function SubZoneText_OnLoad(self)
|
||||
FadingFrame_OnLoad(self);
|
||||
FadingFrame_SetFadeInTime(self, ZoneFadeInDuration);
|
||||
FadingFrame_SetHoldTime(self, ZoneHoldDuration);
|
||||
FadingFrame_SetFadeOutTime(self, ZoneFadeOutDuration);
|
||||
PVPArenaTextString:SetTextColor(1.0, 0.1, 0.1);
|
||||
SetZoneText(true);
|
||||
SubZoneTextString:SetText(GetSubZoneText());
|
||||
end
|
||||
|
||||
AUTOFOLLOW_STATUS_FADETIME = 4.0;
|
||||
|
||||
function AutoFollowStatus_OnLoad(self)
|
||||
self:RegisterEvent("AUTOFOLLOW_BEGIN");
|
||||
self:RegisterEvent("AUTOFOLLOW_END");
|
||||
self:RegisterEvent("PLAYER_ENTERING_WORLD");
|
||||
end
|
||||
|
||||
function AutoFollowStatus_OnEvent(self, event, ...)
|
||||
if ( event == "AUTOFOLLOW_BEGIN" ) then
|
||||
local arg1 = ...;
|
||||
self.unit = arg1;
|
||||
self.fadeTime = nil;
|
||||
self:SetAlpha(1.0);
|
||||
AutoFollowStatusText:SetFormattedText(AUTOFOLLOWSTART,self.unit);
|
||||
self:Show();
|
||||
end
|
||||
if ( event == "AUTOFOLLOW_END" ) then
|
||||
self.fadeTime = AUTOFOLLOW_STATUS_FADETIME;
|
||||
AutoFollowStatusText:SetFormattedText(AUTOFOLLOWSTOP,self.unit);
|
||||
self:Show();
|
||||
end
|
||||
if ( event == "PLAYER_ENTERING_WORLD" ) then
|
||||
self:Hide();
|
||||
end
|
||||
end
|
||||
|
||||
function AutoFollowStatus_OnUpdate(self, elapsed)
|
||||
if( self.fadeTime ) then
|
||||
if( elapsed >= self.fadeTime ) then
|
||||
self:Hide();
|
||||
else
|
||||
self.fadeTime = self.fadeTime - elapsed;
|
||||
local alpha = self.fadeTime / AUTOFOLLOW_STATUS_FADETIME;
|
||||
self:SetAlpha(alpha);
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user