vanilla-wow-addons – Rev 1
?pathlinks?
TITAN_AMMO_ID = "Ammo";
TITAN_AMMO_THRESHOLD_TABLE = {
Values = { 150, 400 },
Colors = { RED_FONT_COLOR, NORMAL_FONT_COLOR, GREEN_FONT_COLOR },
}
function TitanPanelAmmoButton_OnLoad()
this.registry = {
id = TITAN_AMMO_ID,
builtIn = 1,
version = TITAN_VERSION,
menuText = TITAN_AMMO_MENU_TEXT,
buttonTextFunction = "TitanPanelAmmoButton_GetButtonText",
tooltipTitle = TITAN_AMMO_TOOLTIP,
icon = TITAN_ARTWORK_PATH.."TitanThrown",
iconWidth = 16,
savedVariables = {
ShowIcon = 1,
ShowLabelText = 1,
ShowColoredText = 1,
}
};
this:RegisterEvent("BAG_UPDATE");
this:RegisterEvent("ITEM_LOCK_CHANGED");
this:RegisterEvent("UNIT_INVENTORY_CHANGED");
end
function TitanPanelAmmoButton_OnEvent()
TitanPanelButton_UpdateButton(TITAN_AMMO_ID);
end
function TitanPanelAmmoButton_GetButtonText(id)
local ammoSlotID = GetInventorySlotInfo("ammoSlot");
local rangedSlotID = GetInventorySlotInfo("rangedSlot");
local isThrown, isAmmo;
if (GetInventoryItemQuality("player", rangedSlotID) and
string.find(GetInventoryItemLink("player", rangedSlotID), TITAN_AMMO_THROWN_KEYWORD)) then
isThrown = 1;
end
if (not isThrown and GetInventoryItemQuality("player", ammoSlotID)) then
isAmmo = 1;
end
local count, labelText, ammoText, ammoRichText, color;
if (isThrown) then
count = GetInventoryItemCount("player", rangedSlotID);
labelText = TITAN_AMMO_BUTTON_LABEL_THROWN;
ammoText = format(TITAN_AMMO_FORMAT, count);
elseif (isAmmo) then
count = GetInventoryItemCount("player", ammoSlotID);
labelText = TITAN_AMMO_BUTTON_LABEL_AMMO;
ammoText = format(TITAN_AMMO_FORMAT, count);
else
count = 0;
labelText = TITAN_AMMO_BUTTON_LABEL_AMMO_THROWN;
ammoText = format(TITAN_AMMO_FORMAT, count);
end
if ( TitanGetVar(TITAN_AMMO_ID, "ShowColoredText") ) then
color = TitanUtils_GetThresholdColor(TITAN_AMMO_THRESHOLD_TABLE, count);
ammoRichText = TitanUtils_GetColoredText(ammoText, color);
else
ammoRichText = TitanUtils_GetHighlightText(ammoText);
end
return labelText, ammoRichText;
end
function TitanPanelRightClickMenu_PrepareAmmoMenu()
TitanPanelRightClickMenu_AddTitle(TitanPlugins[TITAN_AMMO_ID].menuText);
TitanPanelRightClickMenu_AddToggleIcon(TITAN_AMMO_ID);
TitanPanelRightClickMenu_AddToggleLabelText(TITAN_AMMO_ID);
TitanPanelRightClickMenu_AddToggleColoredText(TITAN_AMMO_ID);
TitanPanelRightClickMenu_AddSpacer();
TitanPanelRightClickMenu_AddCommand(TITAN_PANEL_MENU_HIDE, TITAN_AMMO_ID, TITAN_PANEL_MENU_FUNC_HIDE);
end