Yesterday I added the runebar and combobar to my oUF_Simple layout. Just want to share how I did it.
The basis of my runebar was p3lims code.
The basis for my combobar was Dawns code.
Result:
Combobar -
Runebar
Runebar function hasn't changed much, just some small tweaks.
Code snipplets
Code:
----------------------------
--variables
----------------------------
local _, myclass = UnitClass("player")
local castcol = { r = 0.9, g = 0.6, b = 0.4, }
local bdc = { r = castcol.r*0.2, g = castcol.g*0.2, b = castcol.b*0.2, a = 0.93, }
local mytexture = "Interface\\AddOns\\oUF_Simple\\statusbar"
local tabvalues = {
runes = {
[1] = { 1, 0, 0 },
[2] = { 1, 0, 0 },
[3] = { 0, 0.5, 0 },
[4] = { 0, 0.5, 0 },
[5] = { 0, 1, 1 },
[6] = { 0, 1, 1 },
},
}
----------------------------
--functions
----------------------------
--do me a backdrop
local function kiss_set_me_a_backdrop(f)
f:SetBackdrop( {
bgFile = mytexture,
edgeFile = "", tile = false, tileSize = 0, edgeSize = 32,
insets = { left = -2, right = -2, top = -2, bottom = -2 }
})
f:SetBackdropColor(bdc.r,bdc.g,bdc.b,bdc.a)
end
--combopoint unit changer by p3lim
local function updateCombo(self, event, unit)
if(unit == PlayerFrame.unit and unit ~= self.CPoints.unit) then
self.CPoints.unit = unit
end
end
--idea for code taken from oUF_viv by Dawn
local function kiss_createComboPoints(self,unit)
self.CPoints = {}
self.CPoints.unit = "player"
for i = 1, 5 do
self.CPoints[i] = CreateFrame("Frame", nil, self)
self.CPoints[i]:SetHeight(6)
self.CPoints[i]:SetWidth((self.width+2) / 5 - 2 )
kiss_set_me_a_backdrop(self.CPoints[i])
self.CPoints[i].bg = self.CPoints[i]:CreateTexture(nil, "LOW")
self.CPoints[i].bg:SetTexture(mytexture)
self.CPoints[i].bg:SetAllPoints(self.CPoints[i])
local y = ((-1)*(0.25*(i-1)))+1
self.CPoints[i].bg:SetVertexColor(1,y,0)
if(i==1) then
self.CPoints[i]:SetPoint("TOPLEFT", self, "BOTTOMLEFT", 0, -5)
else
self.CPoints[i]:SetPoint("TOPLEFT", self.CPoints[i-1], "TOPRIGHT", 2, 0)
end
end
--call function from p3lim
self:RegisterEvent("UNIT_COMBO_POINTS", updateCombo)
end
--runebar func
--code taken from oUF_P3lim (edited)
local function kiss_CreateRuneBar(self,unit)
self.Runes = CreateFrame("Frame", nil, self)
self.Runes:SetPoint("TOPLEFT", self, "BOTTOMLEFT", 0, -5)
self.Runes:SetHeight(6)
self.Runes:SetWidth(self.width)
self.Runes.anchor = "TOPLEFT"
self.Runes.growth = "RIGHT"
self.Runes.height = 6
self.Runes.spacing = 2
self.Runes.width = (self.width+2) / 6 - 2
for index = 1, 6 do
self.Runes[index] = CreateFrame("StatusBar", nil, self.Runes)
self.Runes[index]:SetStatusBarTexture(mytexture)
local r, g, b = unpack(tabvalues.runes[index])
self.Runes[index]:SetStatusBarColor(r, g, b)
kiss_set_me_a_backdrop(self.Runes[index])
end
--the following line will adjust the debuff to become reanchored.
--self.Debuffs:SetPoint("TOP", self.Runes, "BOTTOM", 0, -5)
end
----------------------------
--styles
----------------------------
--create the player style
local function CreatePlayerStyle(self, unit)
self.width = 250
-- ...
if myclass == "DEATHKNIGHT" then
kiss_CreateRuneBar(self,unit)
end
end
--create the target style
local function CreateTargetStyle(self, unit)
self.width = 250
-- ...
kiss_createComboPoints(self,unit)
end