176 lines
5.6 KiB
Lua
176 lines
5.6 KiB
Lua
|
|
function InspectPVPFrame_OnLoad(self)
|
|
InspectPVPFrameLine1:SetAlpha(0.3);
|
|
InspectPVPHonorKillsLabel:SetVertexColor(0.6, 0.6, 0.6);
|
|
InspectPVPHonorHonorLabel:SetVertexColor(0.6, 0.6, 0.6);
|
|
InspectPVPHonorTodayLabel:SetVertexColor(0.6, 0.6, 0.6);
|
|
InspectPVPHonorYesterdayLabel:SetVertexColor(0.6, 0.6, 0.6);
|
|
InspectPVPHonorLifetimeLabel:SetVertexColor(0.6, 0.6, 0.6);
|
|
|
|
self:RegisterEvent("INSPECT_HONOR_UPDATE");
|
|
end
|
|
|
|
function InspectPVPFrame_OnEvent(self, event, ...)
|
|
if ( event == "INSPECT_HONOR_UPDATE" ) then
|
|
InspectPVPFrame_Update();
|
|
end
|
|
end
|
|
|
|
function InspectPVPFrame_OnShow()
|
|
InspectPVPFrame_Update();
|
|
if ( not HasInspectHonorData() ) then
|
|
RequestInspectHonorData();
|
|
else
|
|
InspectPVPFrame_Update();
|
|
end
|
|
end
|
|
|
|
function InspectPVPFrame_SetFaction()
|
|
local factionGroup = UnitFactionGroup("player");
|
|
if ( factionGroup ) then
|
|
InspectPVPFrameHonorIcon:SetTexture("Interface\\TargetingFrame\\UI-PVP-"..factionGroup);
|
|
InspectPVPFrameHonorIcon:Show();
|
|
end
|
|
end
|
|
|
|
function InspectPVPFrame_Update()
|
|
for i=1, MAX_ARENA_TEAMS do
|
|
GetInspectArenaTeamData(i);
|
|
end
|
|
InspectPVPFrame_SetFaction();
|
|
InspectPVPHonor_Update();
|
|
InspectPVPTeam_Update();
|
|
end
|
|
|
|
function InspectPVPTeam_Update()
|
|
-- Display Elements
|
|
local button, buttonName, highlight, data, standard, emblem, border;
|
|
-- Data Elements
|
|
local teamName, teamSize, teamRating, teamPlayed, teamWins, teamLoss, playerPlayed, playerRating, playerPlayedPct, teamRank;
|
|
local background = {};
|
|
local borderColor = {};
|
|
local emblemColor = {};
|
|
local ARENA_TEAMS = {};
|
|
ARENA_TEAMS[1] = {size = 2};
|
|
ARENA_TEAMS[2] = {size = 3};
|
|
ARENA_TEAMS[3] = {size = 5};
|
|
|
|
-- Sort teams by size
|
|
|
|
local buttonIndex = 0;
|
|
for index, value in pairs(ARENA_TEAMS) do
|
|
for i=1, MAX_ARENA_TEAMS do
|
|
teamName, teamSize = GetInspectArenaTeamData(i);
|
|
if ( value.size == teamSize ) then
|
|
value.index = i;
|
|
end
|
|
end
|
|
end
|
|
|
|
-- fill out data
|
|
for index, value in pairs(ARENA_TEAMS) do
|
|
if ( value.index ) then
|
|
buttonIndex = buttonIndex + 1;
|
|
-- Pull Values
|
|
teamName, teamSize, teamRating, teamPlayed, teamWins, playerPlayed, playerRating, background.r, background.g, background.b, emblem, emblemColor.r, emblemColor.g, emblemColor.b, border, borderColor.r, borderColor.g, borderColor.b = GetInspectArenaTeamData(value.index);
|
|
teamLoss = teamPlayed - teamWins;
|
|
if ( teamPlayed ~= 0 ) then
|
|
playerPlayedPct = floor( ( playerPlayed / teamPlayed ) * 100 );
|
|
else
|
|
playerPlayedPct = floor( ( playerPlayed / 1 ) * 100 );
|
|
end
|
|
|
|
-- Set button elements to variables
|
|
button = _G["InspectPVPTeam"..buttonIndex];
|
|
buttonName = "InspectPVPTeam"..buttonIndex;
|
|
data = buttonName.."Data";
|
|
standard = buttonName.."Standard";
|
|
|
|
button:SetID(value.index);
|
|
|
|
-- Populate Data
|
|
_G[data.."TypeLabel"]:SetText(ARENA_THIS_SEASON);
|
|
_G[data.."Name"]:SetText(teamName);
|
|
_G[data.."Rating"]:SetText(teamRating);
|
|
_G[data.."Games"]:SetText(teamPlayed);
|
|
_G[data.."Wins"]:SetText(teamWins);
|
|
_G[data.."Loss"]:SetText(teamLoss);
|
|
|
|
_G[data.."Played"]:SetText(playerRating);
|
|
_G[data.."Played"]:SetVertexColor(1.0, 1.0, 1.0);
|
|
_G[data.."PlayedLabel"]:SetText(RATING);
|
|
|
|
-- Set TeamSize Banner
|
|
_G[standard.."Banner"]:SetTexture("Interface\\PVPFrame\\PVP-Banner-"..teamSize);
|
|
_G[standard.."Banner"]:SetVertexColor(background.r, background.g, background.b);
|
|
_G[standard.."Border"]:SetVertexColor(borderColor.r, borderColor.g, borderColor.b);
|
|
_G[standard.."Emblem"]:SetVertexColor(emblemColor.r, emblemColor.g, emblemColor.b);
|
|
if ( border ~= -1 ) then
|
|
_G[standard.."Border"]:SetTexture("Interface\\PVPFrame\\PVP-Banner-"..teamSize.."-Border-"..border);
|
|
end
|
|
if ( emblem ~= -1 ) then
|
|
_G[standard.."Emblem"]:SetTexture("Interface\\PVPFrame\\Icons\\PVP-Banner-Emblem-"..emblem);
|
|
end
|
|
|
|
-- Set visual elements
|
|
_G[data]:Show();
|
|
button:SetAlpha(1);
|
|
_G[buttonName.."Highlight"]:SetAlpha(1);
|
|
_G[buttonName.."Highlight"]:SetBackdropBorderColor(1.0, 0.82, 0);
|
|
_G[standard]:SetAlpha(1);
|
|
_G[standard.."Border"]:Show();
|
|
_G[standard.."Emblem"]:Show();
|
|
_G[buttonName.."Background"]:SetVertexColor(0, 0, 0);
|
|
_G[buttonName.."Background"]:SetAlpha(1);
|
|
_G[buttonName.."TeamType"]:Hide();
|
|
|
|
end
|
|
end
|
|
|
|
-- show unused teams
|
|
for index, value in pairs(ARENA_TEAMS) do
|
|
if ( not value.index ) then
|
|
-- Set button elements to variables
|
|
buttonIndex = buttonIndex + 1;
|
|
button = _G["InspectPVPTeam"..buttonIndex];
|
|
buttonName = "InspectPVPTeam"..buttonIndex;
|
|
data = buttonName.."Data";
|
|
|
|
-- Set standard type
|
|
_G[buttonName.."StandardBanner"]:SetTexture("Interface\\PVPFrame\\PVP-Banner-"..value.size);
|
|
|
|
-- Hide or Show items
|
|
button:SetAlpha(0.4);
|
|
_G[data]:Hide();
|
|
_G[buttonName.."Background"]:SetVertexColor(0, 0, 0);
|
|
_G[buttonName.."Standard"]:SetAlpha(0.1);
|
|
_G[buttonName.."StandardBorder"]:Hide();
|
|
_G[buttonName.."StandardEmblem"]:Hide();
|
|
_G[buttonName.."TeamType"]:SetFormattedText(PVP_TEAMSIZE, value.size, value.size);
|
|
_G[buttonName.."TeamType"]:Show();
|
|
end
|
|
end
|
|
end
|
|
|
|
-- PVP Honor Data
|
|
function InspectPVPHonor_Update()
|
|
local todayHK, todayHonor, yesterdayHK, yesterdayHonor, lifetimeHK, lifetimeRank = GetInspectHonorData();
|
|
|
|
-- Yesterday's values
|
|
InspectPVPHonorYesterdayKills:SetText(yesterdayHK);
|
|
InspectPVPHonorYesterdayHonor:SetText(yesterdayHonor);
|
|
|
|
-- Lifetime values
|
|
InspectPVPHonorLifetimeKills:SetText(lifetimeHK);
|
|
InspectPVPFrameHonorPoints:SetText("");
|
|
InspectPVPFrameArenaPoints:SetText("");
|
|
|
|
-- Hide Point Values
|
|
InspectPVPFrameHonorPoints:Hide();
|
|
InspectPVPFrameArenaPoints:Hide();
|
|
|
|
-- This session's values
|
|
InspectPVPHonorTodayKills:SetText(todayHK);
|
|
InspectPVPHonorTodayHonor:SetText(todayHonor);
|
|
InspectPVPHonorTodayHonor:SetHeight(14);
|
|
end |