📄 titanpanel.lua
字号:
info = {};
info.text = TITAN_PANEL_MENU_DISABLE_PUSH;
info.func = TitanPanelBarButton_ToggleAuxScreenAdjust;
info.checked = TitanPanelGetVar("AuxScreenAdjust");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_DOUBLE_BAR;
info.func = TitanPanelBarButton_ToggleAuxDoubleBar;
info.checked = TitanPanelGetVar("AuxDoubleBar") == TITAN_PANEL_BARS_DOUBLE;
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
if ( UIDROPDOWNMENU_MENU_VALUE == "Options" ) then
info = {};
info.text = TITAN_PANEL_MENU_AUTOHIDE;
info.func = TitanPanelBarButton_ToggleAutoHide;
info.checked = TitanPanelGetVar("AutoHide");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_CENTER_TEXT;
info.func = TitanPanelBarButton_ToggleAlign;
info.checked = (TitanPanelGetVar("ButtonAlign") == TITAN_PANEL_BUTTONS_ALIGN_CENTER);
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_DISABLE_PUSH;
info.func = TitanPanelBarButton_ToggleScreenAdjust;
info.checked = TitanPanelGetVar("ScreenAdjust");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_DOUBLE_BAR;
info.func = TitanPanelBarButton_ToggleDoubleBar;
info.checked = TitanPanelGetVar("DoubleBar") == TITAN_PANEL_BARS_DOUBLE;
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
if ( UIDROPDOWNMENU_MENU_VALUE == "Options" or UIDROPDOWNMENU_MENU_VALUE == "OptionsAux" ) then
TitanPanelRightClickMenu_AddSpacer(UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_DISPLAY_ONTOP;
info.func = TitanPanelBarButton_TogglePosition;
info.checked = (TitanPanelGetVar("Position") == TITAN_PANEL_PLACE_TOP);
info.disabled = TitanPanelGetVar("BothBars")
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_DISPLAY_BOTH;
info.func = TitanPanelBarButton_ToggleBarsShown;
info.checked = TitanPanelGetVar("BothBars");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
TitanPanelRightClickMenu_AddSpacer(UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_TOOLTIPS_SHOWN;
info.func = TitanPanelBarButton_ToggleToolTipsShown;
info.checked = TitanPanelGetVar("ToolTipsShown");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_VERSION_SHOWN;
info.func = TitanPanelBarButton_ToggleVersionShown;
info.checked = TitanPanelGetVar("VersionShown");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
info = {};
info.text = TITAN_PANEL_MENU_DISBALE_FONT;
info.func = TitanPanelBarButton_ToggleDisableFont;
info.checked = TitanPanelGetVar("DisableFont");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
function TitanPanel_LoadServerSettingsMenu()
local info = {};
local servers = {};
local server = nil;
local s, e, ident;
if ( UIDROPDOWNMENU_MENU_VALUE == "Settings" ) then
for index, id in TitanSettings.Players do
s, e, ident = string.find(index, "@");
if s ~= nil then
server = string.sub(index, s+1);
else
server = "Unknown";
end
if TitanUtils_GetCurrentIndex(servers, server) == nil then
table.insert(servers, server);
info = {};
info.text = server;
info.value = server;
info.hasArrow = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
end
end
function TitanPanel_LoadPlayerSettingsMenu()
local info = {};
local player = nil;
local server = nil;
local s, e, ident;
for index, id in TitanSettings.Players do
s, e, ident = string.find(index, "@");
if s ~= nil then
server = string.sub(index, s+1);
player = string.sub(index, 1, s-1);
else
server = "Unknown";
player = "Unknown";
end
if server == UIDROPDOWNMENU_MENU_VALUE then
info = {};
info.text = player;
info.value = index;
info.func = TitanVariables_UseSettings;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
end
function TitanPanel_BuildOtherPluginsMenu()
local info = {};
local checked;
local plugin;
local frame = this:GetName();
local frname = getglobal(frame);
for index, id in TitanPluginsIndex do
plugin = TitanUtils_GetPlugin(id);
if not plugin.category then
plugin.category = "General";
end
if ( UIDROPDOWNMENU_MENU_VALUE == "Addons_" .. plugin.category ) then
if (not plugin.builtIn) then
checked = nil;
if ( TitanPanel_IsPluginShown(id) ) then
checked = 1;
end
info = {};
if plugin.version ~= nil and TitanPanelGetVar("VersionShown") then
info.text = plugin.menuText .. TitanUtils_GetGreenText(" (v" .. plugin.version .. ")");
else
info.text = plugin.menuText;
end
info.value = id;
info.func = TitanPanelRightClickMenu_BarOnClick;
info.checked = checked;
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
end
end
function TitanPanel_BuildPluginsMenu()
local info = {};
local checked;
local plugin;
if ( UIDROPDOWNMENU_MENU_VALUE == "Builtins" ) then
TitanPanelRightClickMenu_AddTitle(TITAN_PANEL_MENU_LEFT_SIDE, UIDROPDOWNMENU_MENU_LEVEL);
for index, id in TitanPluginsIndex do
plugin = TitanUtils_GetPlugin(id);
if ( plugin.builtIn and ( TitanPanel_GetPluginSide(id) == "Left") ) then
checked = nil;
if ( TitanPanel_IsPluginShown(id) ) then
checked = 1;
end
info = {};
if plugin.version ~= nil and TitanPanelGetVar("VersionShown") then
info.text = plugin.menuText .. TitanUtils_GetGreenText(" (v" .. plugin.version .. ")");
else
info.text = plugin.menuText;
end
info.value = id;
info.func = TitanPanelRightClickMenu_BarOnClick;
info.checked = checked;
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
TitanPanelRightClickMenu_AddSpacer(UIDROPDOWNMENU_MENU_LEVEL);
TitanPanelRightClickMenu_AddTitle(TITAN_PANEL_MENU_RIGHT_SIDE, UIDROPDOWNMENU_MENU_LEVEL);
for index, id in TitanPluginsIndex do
plugin = TitanUtils_GetPlugin(id);
if ( plugin.builtIn and ( TitanPanel_GetPluginSide(id) == "Right") ) then
checked = nil;
if ( TitanPanel_IsPluginShown(id) ) then
checked = 1;
end
if id ~= "AuxAutoHide" then
info = {};
if plugin.version ~= nil and TitanPanelGetVar("VersionShown") then
info.text = plugin.menuText .. TitanUtils_GetGreenText(" (v" .. plugin.version .. ")");
else
info.text = plugin.menuText;
end
info.value = id;
info.func = TitanPanelRightClickMenu_BarOnClick;
info.checked = checked;
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
end
end
if ( UIDROPDOWNMENU_MENU_VALUE == "BuiltinsAux" ) then
TitanPanelRightClickMenu_AddTitle(TITAN_PANEL_MENU_LEFT_SIDE, UIDROPDOWNMENU_MENU_LEVEL);
for index, id in TitanPluginsIndex do
plugin = TitanUtils_GetPlugin(id);
if ( plugin.builtIn and ( TitanPanel_GetPluginSide(id) == "Left") ) then
checked = nil;
if ( TitanPanel_IsPluginShown(id) ) then
checked = 1;
end
info = {};
if plugin.version ~= nil and TitanPanelGetVar("VersionShown") then
info.text = plugin.menuText .. TitanUtils_GetGreenText(" (v" .. plugin.version .. ")");
else
info.text = plugin.menuText;
end
info.value = id;
info.func = TitanPanelRightClickMenu_BarOnClick;
info.checked = checked;
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
TitanPanelRightClickMenu_AddSpacer(UIDROPDOWNMENU_MENU_LEVEL);
TitanPanelRightClickMenu_AddTitle(TITAN_PANEL_MENU_RIGHT_SIDE, UIDROPDOWNMENU_MENU_LEVEL);
for index, id in TitanPluginsIndex do
plugin = TitanUtils_GetPlugin(id);
if ( plugin.builtIn and ( TitanPanel_GetPluginSide(id) == "Right") ) then
checked = nil;
if ( TitanPanel_IsPluginShown(id) ) then
checked = 1;
end
if id ~= "AutoHide" then
info = {};
if plugin.version ~= nil and TitanPanelGetVar("VersionShown") then
info.text = plugin.menuText .. TitanUtils_GetGreenText(" (v" .. plugin.version .. ")");
else
info.text = plugin.menuText;
end
info.value = id;
info.func = TitanPanelRightClickMenu_BarOnClick;
info.checked = checked;
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
end
end
end
function TitanPanel_IsPluginShown(id)
if ( id and TitanPanelSettings ) then
return TitanUtils_TableContainsValue(TitanPanelSettings.Buttons, id);
end
end
function TitanPanel_GetPluginSide(id)
if ( id == TITAN_CLOCK_ID and TitanGetVar(TITAN_CLOCK_ID, "DisplayOnRightSide") ) then
return "Right";
elseif ( TitanPanelButton_IsIcon(id) ) then
return "Right";
else
return "Left";
end
end
TitanPanelDetails = {
name = "Titan Panel (Multibar)",
description = "Adds a control panel/info box at the top and bottom of the screen.",
version = TITAN_VERSION,
releaseDate = TITAN_LAST_UPDATED,
author = "TitanMod/Adsertor",
email = "TitanMod@gmail.com",
website = "http://ui.worldofwar.net/ui.php?id=576",
category = MYADDONS_CATEGORY_BARS,
frame = "TitanPanel",
optionsframe = "",
};
TitanPanelHelp = {};
TitanPanelHelp[1] = "Titan Panel adds a control panel/info box at the top and bottom of the screen.\n\nFeatures include:\n1. Ammo/Thrown counter\n2. Bag\n3. Experience (XP)\n4. FPS\n5. Latency\n6. Location\n7. Loot Type\n8. Memory\n9. Money\n10. PvP Honor\n11. Clock\n\nAlso build-in controls allow you to:\n1. Adjust master sound volume\n2. Adjust UI Scale\n3. Adjust panel transparency\n4. Toggle auto-hide on/off\n\nFully support plug-ins system. All modules on the panel are plug-n-play. Allows other developers to create plugins to import the new features.\n\n\nThanks go to\n- Sotakone, for providing a bug fix for German clients\n- Kilan, for submitting code which makes Titan Panel save per-realm-per-character";
function TitanPanelFrame_OnLoad()
-- Register the events that need to be watched
this:RegisterEvent("VARIABLES_LOADED");
end
function TitanPanelFrame_OnEvent()
if(event == "VARIABLES_LOADED") then
-- Check if myAddOns is loaded
if(myAddOnsFrame_Register) then
-- Register the addon in myAddOns
myAddOnsFrame_Register(TitanPanelDetails, TitanPanelHelp);
end
end
end
function TitanPanel_AddonLoaded(addonname)
if addonname == "Blizzard_BattlefieldMinimap" then
if ( not BattlefieldMinimapOptions ) then
BattlefieldMinimapOptions = BattlefieldMinimapDefaults;
end
if not ( BattlefieldMinimapOptions.position ) then
BattlefieldMinimapTab:SetPoint("CENTER", "UIParent", "BOTTOMLEFT", 845, 443);
BattlefieldMinimapTab:SetUserPlaced(true);
BattlefieldMinimapTab:Show();
BattlefieldMinimapOptions["locked"] = false
BattlefieldMinimapOptions.position = {};
BattlefieldMinimapOptions.position.x, BattlefieldMinimapOptions.position.y = BattlefieldMinimapTab:GetCenter();
local loaded, reason = LoadAddOn("Blizzard_BattlefieldMinimap");
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -