local _G = _G |
|
local DoubleBinary_Class = select(2, UnitClass("player")) |
local DoubleBinary_Font = "Interface\\AddOns\\DoubleBinary\\fonts\\Enigma__2.ttf" |
|
function DoubleBinary_BarAnchor(frame, frametext, text, buttons, rows, point, relativeFrame, relativePoint, ofsx, ofsy, bsize) |
frame:SetBackdrop({bgFile = "Interface\\Buttons\\WHITE8x8"}) |
frame:SetBackdropColor(1.0,0,0,0) |
frame:SetWidth(((bsize+8)*buttons)/rows) |
frame:SetHeight((bsize+8)*rows) |
frame:SetFrameStrata("BACKGROUND") |
frame:ClearAllPoints() |
frame:SetParent(relativeFrame) |
frame:SetPoint(point, relativeFrame, relativePoint, ofsx, ofsy); |
frame:SetClampedToScreen(true) |
frametext:SetPoint("TOPLEFT", frame, "TOPLEFT", 3, -3) |
frametext:SetFont(DoubleBinary_Font, 12, "OUTLINE") |
frametext:SetWordWrap(enable) |
frametext:SetText(text) |
frametext:Hide() |
end |
|
function DoubleBinary_BarButtonSort(but, index, rows, anchor, alpha, mouseover, frame, maxb, bsize, scale) |
local button = _G[but..index] |
button:ClearAllPoints() |
button:SetAlpha(alpha) |
button:SetScale(scale) |
if _G[but..index.."HotKey"] then |
_G[but..index.."HotKey"]:SetJustifyH("Right") |
_G[but..index.."HotKey"]:SetPoint("TOPRIGHT", button, "TOPRIGHT", 2,0) |
_G[but..index.."HotKey"]:SetFont(DoubleBinary_Font, 10, "OUTLINE") |
end |
if index == 1 then |
if rows == maxb then |
button:SetPoint("TOP",anchor,"TOP",0,-5) |
else |
button:SetPoint("LEFT",anchor,"LEFT",5,0) |
end |
elseif rows==12 then |
button:SetPoint("TOP", _G[but..(index-1)],"BOTTOM",0,-8) |
else |
button:SetPoint("LEFT", _G[but..(index-1)], "RIGHT", 8, 0) |
end |
end |
|
local DoubleBinary_MainBarAnchor = CreateFrame("Frame", "Double Binary Main Bar", UIParent, 'SecureHandlerStateTemplate') |
local DoubleBinary_MainBarAnchorText = DoubleBinary_MainBarAnchor:CreateFontString("Double Binary Main Bar") |
local DoubleBinary_MultiBarBottomLeft = CreateFrame("Frame", "Double Binary Multi Bar Bottom Left", DoubleBinary_MainBarAnchor) |
local DoubleBinary_MultiBarBottomLeftText = DoubleBinary_MultiBarBottomLeft:CreateFontString("Double Binary Multi Bar Bottom Left") |
local DoubleBinary_MultiBarBottomRight = CreateFrame("Frame", "Double Binary Multi Bar Bottom Right", DoubleBinary_MultiBarBottomLeft) |
local DoubleBinary_MultiBarBottomRightText = DoubleBinary_MultiBarBottomRight:CreateFontString("Double Binary Multi Bar Bottom Right") |
|
local DoubleBinary_MultiBarRight = CreateFrame("Frame", "Double Binary Multi Bar Right", UIParent) |
local DoubleBinary_MultiBarRightText = DoubleBinary_MultiBarRight:CreateFontString("Double Binary Multi Bar Right") |
local DoubleBinary_MultiBarLeft = CreateFrame("Frame", "Double Binary Multi Bar Left", DoubleBinary_MultiBarRight) |
local DoubleBinary_MultiBarLeftText = DoubleBinary_MultiBarLeft:CreateFontString("Double Binary Multi Bar Left") |
|
local DoubleBinary_ShapeShiftBar = CreateFrame("Frame", "Double Binary Shift Bar", DoubleBinary_MainBarAnchor, 'SecureHandlerStateTemplate') |
local DoubleBinary_ShapeShiftBarText = DoubleBinary_ShapeShiftBar:CreateFontString("Double Binary Shift Bar") |
local DoubleBinary_PetBar = CreateFrame("Frame", "Double Binary Pet Bar", DoubleBinary_MultiBarBottomRight) |
local DoubleBinary_PetBarText = DoubleBinary_PetBar:CreateFontString("Double Binary Pet Bar") |
local DoubleBinary_TotemBar = CreateFrame("Frame", "Double Binary Totem Bar", DoubleBinary_MultiBarBottomRight) |
local DoubleBinary_TotemBarText = DoubleBinary_TotemBar:CreateFontString("Double Binary Totem Bar") |
|
DoubleBinary_BarAnchor(DoubleBinary_MainBarAnchor, DoubleBinary_MainBarAnchorText, "Double Binary Main Bar", 12, 1, "BOTTOM", UIParent, "BOTTOM", 0, 36, 36) |
DoubleBinary_BarAnchor(DoubleBinary_MultiBarBottomLeft, DoubleBinary_MultiBarBottomLeftText, "Double Binary Multi Bar Left", 12, 1, "BOTTOM", DoubleBinary_MainBarAnchor, "TOP", 0, 0, 36) |
DoubleBinary_BarAnchor(DoubleBinary_MultiBarBottomRight, DoubleBinary_MultiBarBottomRightText, "Double Binary Multi Bar Right", 12, 1, "BOTTOM", DoubleBinary_MultiBarBottomLeft, "TOP", 0, 0, 36) |
|
DoubleBinary_BarAnchor(DoubleBinary_MultiBarRight, DoubleBinary_MultiBarRightText, "Double Binary Multi Bar Right", 12, 12, "BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", 0, 200, 36) |
DoubleBinary_BarAnchor(DoubleBinary_MultiBarLeft, DoubleBinary_MultiBarLeftText, "Double Binary Multi Bar Left", 12, 12, "RIGHT", DoubleBinary_MultiBarRight, "LEFT", 0, 0, 36) |
|
DoubleBinary_BarAnchor(DoubleBinary_ShapeShiftBar, DoubleBinary_ShapeShiftBarText, "Double Binary Shift Bar", 10, 1, "TOP", DoubleBinary_MainBarAnchor, "BOTTOM", 0, 0, 26) |
DoubleBinary_BarAnchor(DoubleBinary_PetBar, DoubleBinary_PetBarText, "Double Binary Pet Bar", 10, 1, "BOTTOMRIGHT", DoubleBinary_MultiBarBottomRight, "TOPRIGHT", 0, 0, 25) |
DoubleBinary_BarAnchor(DoubleBinary_TotemBar, DoubleBinary_TotemBarText, "Double Binary Totem Bar", 6, 1, "BOTTOMLEFT", DoubleBinary_MultiBarBottomRight, "TOPLEFT", 0, 0, 25) |
|
MultiBarBottomLeft:SetParent(DoubleBinary_MultiBarBottomLeft) |
MultiBarBottomRight:SetParent(DoubleBinary_MultiBarBottomRight) |
ShapeshiftBarFrame:SetParent(DoubleBinary_ShapeShiftBar) |
PetActionBarFrame:SetParent(DoubleBinary_PetBar) |
MultiCastActionBarFrame:SetParent(DoubleBinary_TotemBar) |
|
local DoubleBinary_Page = { |
["DRUID"] = "[bonusbar:1,nostealth] 7; [bonusbar:1,stealth] 8; [bonusbar:2] 8; [bonusbar:3] 9; [bonusbar:4] 10;", |
["ROGUE"] = "[bonusbar:1] 7; [form:3] 7;", |
["PRIEST"] = "[bonusbar:1] 7;", |
["WARRIOR"] = "[bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;", |
["DEFAULT"] = "[bonusbar:5] 11; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6;", |
} |
|
for i = 1,12 do |
DoubleBinary_BarButtonSort("ActionButton", i, 1, "Double Binary Main Bar", 1, false, DoubleBinary_MainBarAnchor, 12, 36, 1) |
DoubleBinary_BarButtonSort("MultiBarBottomLeftButton", i, 1, "Double Binary Multi Bar Bottom Left", 1, false, DoubleBinary_MultiBarBottomLeft, 12, 36, 1) |
DoubleBinary_BarButtonSort("MultiBarBottomRightButton", i, 1, "Double Binary Multi Bar Bottom Right", 1, false, DoubleBinary_MultiBarBottomRight, 12, 36, 1) |
DoubleBinary_BarButtonSort("MultiBarRightButton", i, 12, "Double Binary Multi Bar Right", 1, false, DoubleBinary_MultiBarRight, 12, 36, 1) |
DoubleBinary_BarButtonSort("MultiBarLeftButton", i, 12, "Double Binary Multi Bar Left", 1, false, DoubleBinary_MultiBarLeft, 12, 36, 1) |
|
_G["ActionButton"..i]:SetParent(DoubleBinary_MainBarAnchor) |
|
DoubleBinary_MainBarAnchor:SetFrameRef('ActionButton'..i, _G['ActionButton'..i]) |
end |
for i = 1,10 do |
DoubleBinary_BarButtonSort("PetActionButton", i, 1, "Double Binary Pet Bar", 1, false, DoubleBinary_PetBar, 10, 26 ,0.9) |
end |
|
MultiCastActionBarFrame:ClearAllPoints() |
MultiCastActionBarFrame:SetScale(0.85) |
hooksecurefunc(MultiCastActionBarFrame,"SetPoint",function() MultiCastActionBarFrame:SetPoint("BOTTOMLEFT",DoubleBinary_TotemBar,"BOTTOMLEFT",4,0) end) |
|
local function DoubleBinary_ShapeShiftBarButtonSort() |
for i = 1, NUM_SHAPESHIFT_SLOTS do |
DoubleBinary_BarButtonSort("ShapeshiftButton", i, 1, "Double Binary Shift Bar", 1, false, DoubleBinary_ShapeShiftBar, 12, 26, 1) |
end |
end |
hooksecurefunc("ShapeshiftBar_Update", DoubleBinary_ShapeShiftBarButtonSort); |
|
function DoubleBinary_MainBarAnchor.getBar() |
local condition = DoubleBinary_Page['DEFAULT'] |
local page = DoubleBinary_Page[DoubleBinary_Class] |
if page then |
condition = condition.." "..page |
end |
condition = condition.." 1" |
return condition |
end |
|
function DoubleBinary_OnLoad() |
print("The DoubleBinary Project - Alpha Build"); |
end |
|
DoubleBinary_MainBarAnchor:Execute([[ |
vehicleExit = self:GetFrameRef('vehicleExit') |
buttons = table.new() |
for i = 1, 12 do |
table.insert(buttons, self:GetFrameRef('ActionButton'..i)) |
end |
]]) |
DoubleBinary_MainBarAnchor:SetAttribute("_onstate-page", [[ |
for i, button in ipairs(buttons) do |
button:SetAttribute("actionpage", tonumber(newstate)) |
end |
]]) |
|
--DoubleBinary_MainBarAnchor:SetAttribute("_onstate-vehicle", [[ |
-- if newstate == 1 then |
-- vehicleExit:Show() |
-- self:SetWidth(230) |
-- for i = 7, 12 do buttons[i]:Hide() end |
-- else |
-- vehicleExit:Hide() |
-- self:SetWidth(400) |
-- for i = 7, 12 do buttons[i]:Show() end |
-- end |
--]]) |
|
RegisterStateDriver(DoubleBinary_MainBarAnchor, "page", DoubleBinary_MainBarAnchor.getBar()) |
--RegisterStateDriver(DoubleBinary_MainBarAnchor, "vehicle", "[bonusbar:5] 1; 0") |
|
MainMenuBar:SetScale(0.001) |
MainMenuBar:SetAlpha(0) |
--ShapeshiftBarFrame:SetScale(0.001) |
--ShapeshiftBarFrame:SetAlpha(0) |
VehicleMenuBar:SetScale(0.001) |
VehicleMenuBar:SetAlpha(0) |