comparison SkeletonStats/DamageMeter.lua @ 1:cd7d06bcd98d

KeyBinds: set hotkey text for blizzard action buttons UnitFrame: prototype templates for the majority of units
author Nenue
date Tue, 21 Jun 2016 04:47:52 -0400
parents 69e828f4238a
children 07293831dd7b
comparison
equal deleted inserted replaced
0:69e828f4238a 1:cd7d06bcd98d
8 -- dm 8 -- dm
9 -- {...} = actor ( name, guid ) -- returns actor table 9 -- {...} = actor ( name, guid ) -- returns actor table
10 -- .showbar (bar ) -- toggle row 10 -- .showbar (bar ) -- toggle row
11 -- .hidebar ( bar ) -- 11 -- .hidebar ( bar ) --
12 -- .ui () -- update chart 12 -- .ui () -- update chart
13 local KT = select(2,...) 13 local KT = LibKT.register(DamageMeter)
14 local dm = DamageMeter 14 local dm = DamageMeter
15 KT.register(dm) 15 local db
16
17 local segments = {} 16 local segments = {}
18 local actors = {} 17 local actors = {}
19 local ordered = {} 18 local ordered = {}
20 local actorsOrdered = {} 19 local actorsOrdered = {}
21 local prototypes = {} 20 local prototypes = {}
31 local SortByDamage = function(a, b) 30 local SortByDamage = function(a, b)
32 end 31 end
33 32
34 dm.init = function() 33 dm.init = function()
35 dm:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED') 34 dm:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED')
35 dm:RegisterEvent('PLAYER_REGEN_DISABLED')
36 dm:RegisterEvent('ENCOUNTER_START') 36 dm:RegisterEvent('ENCOUNTER_START')
37 dm.bars = dm.bars or {} 37 dm.bars = dm.bars or {}
38 dm.headings = dm.headings or {} 38 dm.headings = dm.headings or {}
39
40 sortType = SortByDamage
41 end 39 end
42 40
43 dm.ENCOUNTER_START = function() 41 dm.ENCOUNTER_START = function()
44 dm.new() 42 dm.new()
45 end 43 end
46 44
47 dm.variables = function() 45 dm.variables = function()
48 KT.db.segments = KT.db.segments or {} 46 SkeletonStatsDB = SkeletonStatsDB or {}
49 KT.db.currentSegment = KT.db.currentSegment or 0 47 db = SkeletonStatsDB
50 KT.db.actors = KT.db.actors or {} 48 db.segments = db.segments or {}
51 actors = KT.db.actors 49 db.currentSegment = db.currentSegment or 0
52 segments = KT.db.segments 50 db.actors = db.actors or {}
53 viewPos = KT.db.currentSegment 51 db.viewType = db.viewType or 'damageDone'
54 52
53 actors = db.actors
54 segments = db.segments
55 viewPos = db.currentSegment
56 viewType = prototypes[viewType] and viewType or 'damageDone'
55 57
56 dm.handler(viewType) 58 dm.handler(viewType)
57 59
58 -- resolve segment 60 -- resolve segment
59 if not segments[viewPos] then 61 if not segments[viewPos] then
60 viewPos = dm.new() 62 viewPos = dm.new()
61 else 63 else
62 view = segments[viewPos] 64 view = segments[viewPos]
63 print('Using segment #', viewPos) 65 print('Using segment #', viewPos)
64 end 66 end
65 KT.db.currentSegment = viewPos 67 db.currentSegment = viewPos
66 68
67 dm.ui() 69 dm.ui()
68 end 70 end
69 71
70 dm.handler = function (viewType) 72 dm.handler = function (viewType)
71 handler = prototypes[viewType] 73 handler = prototypes[viewType]
72 dm.header:SetText(handler.header) 74 dm.header:SetText(handler.header)
73 end 75 end
74 76
75 dm.new = function() 77 dm.new = function()
76 segmentUID = (KT.db.segUID or 0) + 1 78 segmentUID = (db.segUID or 0) + 1
77 KT.db.segUID = segmentUID 79 db.segUID = segmentUID
78 view = {} 80 view = {}
79 viewPos = #segments+1 81 viewPos = #segments+1
80 segments[viewPos] = view 82 segments[viewPos] = view
81 KT.db.currentSegment = viewPos 83 db.currentSegment = viewPos
82 print('Starting new segment #', viewPos) 84 print('Starting new segment #', viewPos)
83 return viewPos 85 return viewPos
84 end 86 end
85 local dummyColor = { 87 local dummyColor = {
86 r = 0, 88 r = 0,
120 122
121 prototypes.damageDone = { 123 prototypes.damageDone = {
122 header = 'Damage Done', 124 header = 'Damage Done',
123 } 125 }
124 126
127 dm.PLAYER_REGEN_DISABLED = function()
128 dm.new()
129 end
130
125 dm.COMBAT_LOG_EVENT_UNFILTERED = function(self, event, timeStemp, subEvent, u1, ...) 131 dm.COMBAT_LOG_EVENT_UNFILTERED = function(self, event, timeStemp, subEvent, u1, ...)
126 local sourceGUID, sourceName, sourceFlags, _, destGUID, destName, destFlags = ... 132 local sourceGUID, sourceName, sourceFlags, _, destGUID, destName, destFlags = ...
127 133
128 134
129 local args = {...} 135 local args = {...}