.65, .1, .1, -- по системе RGB. Будет 65 1 1 - каст красный, если 1 65 1 - зеленый, 1 1 65 - голубой.
------------------------------------------------------------------------
-- Castbar
------------------------------------------------------------------------
if TukuiDB["unitframes"].unitcastbar == true then
self.Castbar = CreateFrame("StatusBar", self:GetName().."_Castbar", self)
self.Castbar:SetStatusBarTexture(normTex)
self.Castbar:SetStatusBarColor(unpack(TukuiDB["unitframes"].playercastbarcolor))
self.Castbar.bg = self.Castbar:CreateTexture(nil, "BORDER")
self.Castbar.bg:SetAllPoints(self.Castbar)
self.Castbar.bg:SetTexture(normTex)
self.Castbar.bg:SetVertexColor(unpack(TukuiDB["media"].backdropcolor))
if unit == "player" then
self.Castbar:SetFrameLevel(6)
if (TukuiDB["actionbar"].bottomrows == 2) and (TukuiDB["actionbar"]["petbarhorizontal"].enable == false) then
self.Castbar:SetPoint("BOTTOMLEFT", ActionBar3Background, "TOPLEFT", TukuiDB:Scale(29), TukuiDB:Scale(5))
self.Castbar:SetPoint("BOTTOMRIGHT", ActionBar3Background, "TOPRIGHT", TukuiDB:Scale(-2), TukuiDB:Scale(5))
elseif (TukuiDB["actionbar"].bottomrows == 1) and (TukuiDB["actionbar"]["petbarhorizontal"].enable == false) then
self.Castbar:SetPoint("TOPLEFT", ActionBar3Background, "TOPLEFT", TukuiDB:Scale(29), TukuiDB:Scale(-15))
self.Castbar:SetPoint("TOPRIGHT", ActionBar3Background, "TOPRIGHT", TukuiDB:Scale(-2), TukuiDB:Scale(-15))
elseif TukuiDB["actionbar"]["petbarhorizontal"].enable == true then
self.Castbar:SetPoint("BOTTOMLEFT", PetActionBarBackground1, "TOPLEFT", TukuiDB:Scale(29), TukuiDB:Scale(5))
self.Castbar:SetPoint("BOTTOMRIGHT", PetActionBarBackground1, "TOPRIGHT", TukuiDB:Scale(-2), TukuiDB:Scale(5))
end
self.Castbar:SetHeight(TukuiDB:Scale(20))
self.Castbar.bg = CreateFrame("Frame", nil, self.Castbar)
TukuiDB:SetTemplate(self.Castbar.bg)
self.Castbar.bg:SetPoint("TOPLEFT", TukuiDB:Scale(-2), TukuiDB:Scale(2))
self.Castbar.bg:SetPoint("BOTTOMRIGHT", TukuiDB:Scale(2), TukuiDB:Scale(-2))
self.Castbar.bg:SetFrameLevel(0)
self.CastbarBackdrop = CreateFrame("Frame", nil, self)
self.CastbarBackdrop:SetPoint("TOPLEFT", self.Castbar, "TOPLEFT", TukuiDB:Scale(-6), TukuiDB:Scale(6))
self.CastbarBackdrop:SetPoint("BOTTOMRIGHT", self.Castbar, "BOTTOMRIGHT", TukuiDB:Scale(6), TukuiDB:Scale(-6))
self.CastbarBackdrop:SetParent(self.Castbar)
self.CastbarBackdrop:SetFrameStrata("BACKGROUND")
self.CastbarBackdrop:SetFrameLevel(0)
elseif unit == "target" then
self.Castbar:SetFrameLevel(6)
if TukuiDB["unitframes"]["charportrait"].enable == true then
self.Castbar:SetPoint("BOTTOMLEFT", self, "TOPLEFT", TukuiDB:Scale(28), TukuiDB:Scale(91))
self.Castbar:SetPoint("BOTTOMRIGHT", self.Health, "TOPRIGHT", TukuiDB:Scale(0), TukuiDB:Scale(91))
else
self.Castbar:SetPoint("BOTTOMLEFT", self, "TOPLEFT", TukuiDB:Scale(28), TukuiDB:Scale(92))
self.Castbar:SetPoint("BOTTOMRIGHT", self.Health, "TOPRIGHT", TukuiDB:Scale(0), TukuiDB:Scale(92))
end
self.Castbar:SetHeight(TukuiDB:Scale(21))
self.Castbar.bg = CreateFrame("Frame", nil, self.Castbar)
TukuiDB:SetTemplate(self.Castbar.bg)
self.Castbar.bg:SetPoint("TOPLEFT", TukuiDB:Scale(-2), TukuiDB:Scale(2))
self.Castbar.bg:SetPoint("BOTTOMRIGHT", TukuiDB:Scale(2), TukuiDB:Scale(-2))
self.Castbar.bg:SetFrameLevel(5)
self.CastbarBackdrop = CreateFrame("Frame", nil, self)
self.CastbarBackdrop:SetPoint("TOPLEFT", self.Castbar, "TOPLEFT", TukuiDB:Scale(-6), TukuiDB:Scale(6))
self.CastbarBackdrop:SetPoint("BOTTOMRIGHT", self.Castbar, "BOTTOMRIGHT", TukuiDB:Scale(6), TukuiDB:Scale(-6))
self.CastbarBackdrop:SetParent(self.Castbar)
self.CastbarBackdrop:SetFrameStrata("BACKGROUND")
self.CastbarBackdrop:SetFrameLevel(0)
elseif unit == "focus" then
self.Castbar:SetFrameLevel(6)
self.Castbar:SetHeight(TukuiDB:Scale(24))
--self.Castbar:SetWidth(TukuiDB:Scale(240))
self.Castbar:SetPoint("BOTTOMLEFT", self.Health, "TOPLEFT", TukuiDB:Scale(0), TukuiDB:Scale(7))
self.Castbar:SetPoint("BOTTOMRIGHT", self.Health, "TOPRIGHT", TukuiDB:Scale(-135), TukuiDB:Scale(7))
self.Castbar.bg = CreateFrame("Frame", nil, self.Castbar)
TukuiDB:SetTemplate(self.Castbar.bg)
self.Castbar.bg:SetPoint("TOPLEFT", TukuiDB:Scale(-2), TukuiDB:Scale(2))
self.Castbar.bg:SetPoint("BOTTOMRIGHT", TukuiDB:Scale(2), TukuiDB:Scale(-2))
self.Castbar.bg:SetFrameLevel(0)
self.CastbarBackdrop = CreateFrame("Frame", nil, self)
self.CastbarBackdrop:SetPoint("TOPLEFT", self.Castbar, "TOPLEFT", -6, 6)
self.CastbarBackdrop:SetPoint("BOTTOMRIGHT", self.Castbar, "BOTTOMRIGHT", 6, -6)
self.CastbarBackdrop:SetParent(self.Castbar)
self.CastbarBackdrop:SetFrameStrata("BACKGROUND")
self.CastbarBackdrop:SetFrameLevel(0)
elseif(unit and unit:find("arena%d")) or (unit and unit:find("boss%d")) then
self.Castbar:SetFrameLevel(6)
self.Castbar:SetHeight(6)
self.Castbar:SetPoint("TOPLEFT", self.Health, "BOTTOMLEFT", 0, -1)
self.Castbar:SetPoint("TOPRIGHT", self.Health, "BOTTOMRIGHT", 0, -1)
else
self.Castbar:Hide()
end
if unit == "player" or unit == "target" or unit == "focus" or (unit and unit:find("arena%d")) or (unit and unit:find("boss%d")) then
if unit == "player" then
self.Castbar.Time = SetFontString(self.Castbar, font, 13)
self.Castbar.Time:SetPoint("RIGHT", self.Castbar, "RIGHT", -4, 1)
self.Castbar.Time:SetTextColor(0.9, 0.9, 0.9)
self.Castbar.Time:SetJustifyH("RIGHT")
self.Castbar.CustomTimeText = FormatCastbarTime
self.Castbar.Text = SetFontString(self.Castbar, font, 13)
self.Castbar.Text:SetPoint("CENTER", self.Castbar, "CENTER", 0, 1)
self.Castbar.Text:SetTextColor(0.9, 0.9, 0.9)
elseif unit == "target" then
self.Castbar.Time = SetFontString(self.Castbar, font, 12)
self.Castbar.Time:SetPoint("RIGHT", self.Castbar, "RIGHT", -4, 1)
self.Castbar.Time:SetTextColor(0.9, 0.9, 0.9)
self.Castbar.Time:SetJustifyH("RIGHT")
self.Castbar.CustomTimeText = FormatCastbarTime
self.Castbar.Text = SetFontString(self.Castbar, font, 12)
self.Castbar.Text:SetPoint("LEFT", self.Castbar, "LEFT", 4, 1)
self.Castbar.Text:SetTextColor(0.9, 0.9, 0.9)
elseif (unit and unit:find("arena%d")) then
self.Castbar.Time = SetFontString(self.Castbar, font, 11)
self.Castbar.Time:SetPoint("RIGHT", self.Castbar, "RIGHT", -4, 1)
self.Castbar.Time:SetTextColor(0.9, 0.9, 0.9)
self.Castbar.Time:SetJustifyH("RIGHT")
self.Castbar.CustomTimeText = FormatCastbarTime
self.Castbar.Text = SetFontString(self.Castbar, font, 11)
self.Castbar.Text:SetPoint("LEFT", self.Castbar, "LEFT", 4, 1)
self.Castbar.Text:SetTextColor(0.9, 0.9, 0.9)
else
self.Castbar.Time = SetFontString(self.Castbar, font, 12)
self.Castbar.Time:SetPoint("RIGHT", -2, 1)
self.Castbar.Time:SetTextColor(0.9, 0.9, 0.9)
self.Castbar.Time:SetJustifyH("RIGHT")
self.Castbar.CustomTimeText = FormatCastbarTime
self.Castbar.Text = SetFontString(self.Castbar, font, 12)
self.Castbar.Text:SetPoint("LEFT", 3, 1)
self.Castbar.Text:SetPoint("RIGHT", self.Castbar.Time, "LEFT", -2, 2)
self.Castbar.Text:SetTextColor(0.9, 0.9, 0.9)
end
if TukuiDB["unitframes"].cbicons == true then
self.Castbar.Button = CreateFrame("Frame", nil, self.Castbar)
TukuiDB:SetTemplate(self.Castbar.Button)
self.Castbar.Icon = self.Castbar.Button:CreateTexture(nil, "ARTWORK")
self.Castbar.Icon:SetPoint("TOPLEFT", self.Castbar.Button, TukuiDB:Scale(2), TukuiDB:Scale(-2))
self.Castbar.Icon:SetPoint("BOTTOMRIGHT", self.Castbar.Button, TukuiDB:Scale(-2), TukuiDB:Scale(2))
self.Castbar.Icon:SetTexCoord(0.08, 0.92, 0.08, .92)
if unit == "player" then
--self.Castbar.Button:Hide()
self.Castbar.Button:SetHeight(TukuiDB:Scale(24))
self.Castbar.Button:SetWidth(TukuiDB:Scale(24))
TukuiDB:SetTemplate(self.Castbar.Button)
self.Castbar.Button:SetPoint("RIGHT",self.Castbar,"LEFT", -5, 0)
elseif unit == "target" then
self.Castbar.Button:SetHeight(TukuiDB:Scale(25))
self.Castbar.Button:SetWidth(TukuiDB:Scale(25))
self.Castbar.Button:SetPoint("RIGHT", self.Castbar, "LEFT", TukuiDB:Scale(-5), 0)
elseif unit == "focus" then
self.Castbar.Button:SetHeight(TukuiDB:Scale(28))
self.Castbar.Button:SetWidth(TukuiDB:Scale(28))
TukuiDB:SetTemplate(self.Castbar.Button)
self.Castbar.Button:SetPoint("RIGHT",self.Castbar,"LEFT", -5, 0)
end
self.IconBackdrop = CreateFrame("Frame", nil, self)
self.IconBackdrop:SetPoint("TOPLEFT", self.Castbar.Button, "TOPLEFT", -4, 4)
self.IconBackdrop:SetPoint("BOTTOMRIGHT", self.Castbar.Button, "BOTTOMRIGHT", 4, -4)
self.IconBackdrop:SetParent(self.Castbar)
end
end
if unit == "player" and TukuiDB["unitframes"].cblatency == true then
self.Castbar.SafeZone = self.Castbar:CreateTexture(nil, "ARTWORK")
self.Castbar.SafeZone:SetTexture(normTex)
self.Castbar.SafeZone:SetVertexColor(0.69, 0.31, 0.31, 0.75)
end
if unit == 'target' or unit == 'focus' then
self.PostCastStart = PostUpdateCast
self.PostChannelStart = PostUpdateCast
self:RegisterEvent('UNIT_SPELLCAST_INTERRUPTABLE', SpellCastInterruptable)
self:RegisterEvent('UNIT_SPELLCAST_NOT_INTERRUPTABLE', SpellCastInterruptable)
end
end