BIB_MONKEYQUEST_ID = "MonkeyQuest"; BIB_MONKEYQUEST_ICON_PATH = "Interface\\AddOns\\MonkeyLibrary\\Textures\\MonkeyBuddyIcon"; BIB_MONKEYQUEST_ICON_SIZE = 16; function BIB_MonkeyQuestButton_OnLoad() -- register events this:RegisterEvent("VARIABLES_LOADED"); BM_Plugin("BIB_MonkeyQuestButton", "MonkeyQuest", BIB_MONKEYQUEST_ICON_SIZE, "MonkeyQuest"); DEFAULT_CHAT_FRAME:AddMessage("BIB_MonkeyQuestButton loaded"); end function BIB_MonkeyQuestButton_OnEvent() if (event == "VARIABLES_LOADED") then BIB_MonkeyQuestButton_Initialize(); --TitanPanelButtonBRL_SetIcon(); end end function BIB_MonkeyQuestButton_GetButtonText() if (not IsAddOnLoaded("BhaldieInfoBar")) then return; end if (TitanGetVar(BIB_MONKEYQUEST_ID, "ShowLabelText")) then local iNumEntries, iNumQuests = GetNumQuestLogEntries(); if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowNumQuests == true) then if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitle == false) then BIB_MonkeyQuestButtonText:SetText(MONKEYQUEST_TITLE .. " " .. iNumQuests .. "/" .. MAX_QUESTLOG_QUESTS); else BIB_MonkeyQuestButtonText:SetText(iNumQuests .. "/" .. MAX_QUESTLOG_QUESTS); end elseif (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitle == false) then BIB_MonkeyQuestButtonText:SetText(MONKEYQUEST_TITLE); else BIB_MonkeyQuestButtonText:SetText(""); end else BIB_MonkeyQuestButtonText:SetText(); end end function BIB_RightClickMenu_PrepareMonkeyQuestMenu() local info; TitanPanelRightClickMenu_AddTitle(MONKEYQUEST_TITLE); info = {}; info.text = "Lock to BIB"; info.func = BIB_MonkeyQuestButton_ToggleLockBIB; info.checked = MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bLockBIB; UIDropDownMenu_AddButton(info); TitanPanelRightClickMenu_AddSpacer(); TitanPanelRightClickMenu_AddToggleLabelText(BIB_MONKEYQUEST_ID); TitanPanelRightClickMenu_AddToggleIcon(BIB_MONKEYQUEST_ID); end function BIB_MonkeyQuestButton_Initialize() -- This is the list of the saved vars used, values can be true, false, number, text whatever you want to save. savedVariables = { [1] = {name = "ShowIcon", value = true}, [2] = {name = "ShowLabelText", value = true}, } -- Function to Initialize the saved vars if they don't exisit create them if they do exisits SWEET!! for key, value in savedVariables do BM_Initialize_Variables(BIB_MONKEYQUEST_ID, value.name, value.value); end -- Creates the Dropdown menu UIDropDownMenu_Initialize(BIB_MonkeyQuestButtonRightClickMenu, BIB_RightClickMenu_PrepareMonkeyQuestMenu, "Menu"); -- Initialize the icon BIB_MonkeyQuestButton_SetIcon(); BIB_MonkeyQuestButtonText:SetFont("Interface\\AddOns\\MonkeyLibrary\\Fonts\\adventure.ttf", BHINFOBAR_CONFIG[BM_PLAYERNAME_REALM].plugin_fontsize); BIB_MonkeyQuestButtonText:SetTextColor(MONKEYLIB_TITLE_COLOUR.r, MONKEYLIB_TITLE_COLOUR.g, MONKEYLIB_TITLE_COLOUR.b); -- initial text BIB_MonkeyQuestButton_GetButtonText() end --Sets the icon to where its suppose to be if no icon skips this function function BIB_MonkeyQuestButton_SetIcon() local icon1 = BIB_MonkeyQuestButtonIcon; if (TitanGetVar(BIB_MONKEYQUEST_ID, "ShowIcon")) then icon1:SetTexture(BIB_MONKEYQUEST_ICON_PATH); icon1:SetWidth(BIB_MONKEYQUEST_ICON_SIZE); icon1:SetHeight(BIB_MONKEYQUEST_ICON_SIZE); else icon1:SetTexture(""); icon1:SetWidth(1); end end --This function is in every plugin always the same except for the 2 varables function BIB_MonkeyQuestButton_OnEnter() if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bLockBIB == true) then -- testing MonkeyQuest_Show(); -- todo: figure out where the button is... MonkeyQuestFrame:ClearAllPoints(); if (BIB_MonkeyQuestButton:GetLeft() > 512) then -- on the right if (BIB_MonkeyQuestButton:GetTop() > 384) then -- on the top MonkeyQuestFrame:SetPoint("TOPRIGHT", "BIB_MonkeyQuestButton", "BOTTOMRIGHT", 0, 0); MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strAnchor = "ANCHOR_BOTTOMLEFT"; else MonkeyQuestFrame:SetPoint("BOTTOMRIGHT", "BIB_MonkeyQuestButton", "TOPRIGHT", 0, 0); MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strAnchor = "ANCHOR_TOPLEFT"; end else -- on the left if (BIB_MonkeyQuestButton:GetTop() > 384) then -- on the top MonkeyQuestFrame:SetPoint("TOPLEFT", "BIB_MonkeyQuestButton", "BOTTOMLEFT", 0, 0); MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strAnchor = "ANCHOR_BOTTOMRIGHT"; else MonkeyQuestFrame:SetPoint("BOTTOMLEFT", "BIB_MonkeyQuestButton", "TOPLEFT", 0, 0); MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strAnchor = "ANCHOR_TOPRIGHT"; end end end end --This function is in every plugin always the same function BIB_MonkeyQuestButton_OnLeave() end --This function is in every plugin always the same function BIB_MonkeyQuestButton_OnRightClick(button) if (button == "RightButton") then ToggleDropDownMenu(1, nil, getglobal(this:GetName().."RightClickMenu"), this:GetName(), 0, 0); GameTooltip_SetDefaultAnchor(GameTooltip, UIParent); GameTooltip:Hide(); end end function BIB_MonkeyQuestButton_ToggleLockBIB() MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bLockBIB = not MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bLockBIB; BIB_MonkeyQuestButton_GetButtonText(); if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bLockBIB == true) then MonkeyQuest_Hide(); else MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strAnchor = "ANCHOR_TOPLEFT"; MonkeyQuest_Show(); end end