comparison SkeletonUnit/UnitFrame.lua @ 0:69e828f4238a

Initial Commit
author Nenue
date Mon, 20 Jun 2016 06:35:11 -0400
parents
children cd7d06bcd98d
comparison
equal deleted inserted replaced
-1:000000000000 0:69e828f4238a
1 --------------------------------------------
2 -- KrakTool
3 -- Nick
4 -- @project - r e v i s i o n @ @project-hash@
5 -- @file - r e v i s i o n @ @file-hash@
6 -- Created: 6/16/2016 3:46 AM
7 --------------------------------------------
8
9 local KT = select(2,...)
10 local PLAYER_NAMEPLATE
11 local PLAYER_WIDTH = 220
12 local BUFF_SIZE = 24
13
14
15 KT.register(KTplayerFrame)
16 KTplayerFrame:RegisterUnitEvent("UNIT_HEALTH_FREQUENT", "player")
17 KTplayerFrame:RegisterUnitEvent("UNIT_POWER_FREQUENT", "player")
18 KTplayerFrame:RegisterUnitEvent("UNIT_AURA", 'player')
19 KTplayerFrame:RegisterEvent("NAME_PLATE_UNIT_ADDED")
20 KTplayerFrame:RegisterEvent("NAME_PLATE_UNIT_REMOVED")
21 KTplayerFrame.event = function(self)
22 -- print(C_NamePlate.GetNamePlateForUnit('player'))
23 end
24
25 local buttons = {}
26 local SetupButton = function(self, unit, index)
27 if not buttons[index] then
28 buttons[index] = CreateFrame('Frame', 'KT'..unit..'Buff'..index, self, 'KTAuraButton')
29 buttons[index]:SetSize(BUFF_SIZE, BUFF_SIZE)
30 buttons[index].cooldown:SetHideCountdownNumbers(true)
31
32 end
33 return buttons[index]
34 end
35
36 KTplayerFrame.UNIT_AURA = function(self, event, unit)
37 local buffOffset = 0
38 for i = 1, 16 do
39 --UnitAura()
40 local aura, _, texture, count, dispelType, duration, expires, caster = UnitAura(unit, i, nil, 'HELPFUL')
41 if aura then
42 local button = SetupButton(self, unit, i)
43
44 button.icon:SetTexture(texture)
45 button.cooldown:SetCooldown(expires - duration, duration)
46 button.cooldown:Show()
47 button.count:SetText(count > 0 and count or nil)
48 button:SetPoint('BOTTOMLEFT', self, 'TOPLEFT', buffOffset* BUFF_SIZE, 2)
49 button:Show()
50 buffOffset = buffOffset + 1
51 else
52 if buttons[i] then
53 buttons[i]:Hide()
54 end
55 end
56 end
57 end
58
59 KTplayerFrame.NAME_PLATE_UNIT_ADDED = function(self, event, unit)
60 print('|cFF008800'..unit)
61 if UnitIsUnit('player', unit) then
62 PLAYER_NAMEPLATE = unit
63 self:ClearAllPoints()
64 self:SetPoint('TOP', C_NamePlate.GetNamePlateForUnit(unit), 'BOTTOM', 0, 0)
65 end
66 end
67 KTplayerFrame.NAME_PLATE_UNIT_REMOVED = function(self, event, unit)
68 if unit == PLAYER_NAMEPLATE then
69 PLAYER_NAMEPLATE = nil
70 self:ClearAllPoints()
71 self:SetPoint('LEFT', UIParent, 'LEFT', 25, 0)
72 end
73 end
74
75 KTplayerFrame.UNIT_HEALTH_FREQUENT = function(self, ...)
76 --print(UnitHealth('player') / UnitHealthMax('player'))
77 self.healthbar:SetWidth(PLAYER_WIDTH * UnitHealth('player') / UnitHealthMax('player'))
78 return true
79 end
80
81 KTplayerFrame.UNIT_POWER_FREQUENT = function(self)
82 self.powerbar:SetWidth(PLAYER_WIDTH * UnitPower('player') / UnitPowerMax('player'))
83 return true
84 end
85
86 KTplayerFrame:SetWidth(PLAYER_WIDTH)
87 KTplayerFrame.variables = function()
88 KTplayerFrame:UNIT_HEALTH_FREQUENT()
89 KTplayerFrame:UNIT_POWER_FREQUENT()
90 end