wuira 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/README.md +112 -0
- package/lib/Spells.d.ts +10 -0
- package/lib/Spells.lua +19 -0
- package/lib/datasources/AuraTimer.d.ts +21 -0
- package/lib/datasources/AuraTimer.lua +322 -0
- package/lib/datasources/CastTimer.d.ts +9 -0
- package/lib/datasources/CastTimer.lua +240 -0
- package/lib/datasources/DataSource.d.ts +4 -0
- package/lib/datasources/DataSource.lua +24 -0
- package/lib/datasources/ProgressSource.d.ts +6 -2
- package/lib/datasources/ProgressSource.lua +20 -2
- package/lib/datasources/Resources.d.ts +21 -2
- package/lib/datasources/Resources.lua +473 -0
- package/lib/datasources/SpellCooldown.d.ts +10 -0
- package/lib/datasources/SpellCooldown.lua +207 -0
- package/lib/datasources/SwingTimer.d.ts +31 -0
- package/lib/datasources/SwingTimer.lua +641 -0
- package/lib/datasources/TextureSource.d.ts +10 -0
- package/lib/datasources/TextureSource.lua +83 -0
- package/lib/datasources/TimerSource.d.ts +18 -0
- package/lib/datasources/TimerSource.lua +284 -0
- package/lib/datasources/index.d.ts +9 -1
- package/lib/datasources/index.lua +27 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.lua +8 -0
- package/lib/platform/BlizzardUI.d.ts +12 -0
- package/lib/platform/BlizzardUI.lua +352 -0
- package/lib/platform/forever.d.ts +40 -2
- package/lib/ui/Cell.d.ts +3 -1
- package/lib/ui/Icon.d.ts +8 -0
- package/lib/ui/Icon.lua +8 -0
- package/lib/ui/Label.d.ts +10 -0
- package/lib/ui/Label.lua +8 -0
- package/lib/ui/ProgressBar.d.ts +5 -1
- package/lib/ui/index.d.ts +4 -0
- package/lib/ui/index.lua +8 -0
- package/lib/ui/layout/measureLayout.lua +8 -1
- package/lib/ui/mount.lua +267 -45
- package/lib/ui/primitives/jsx.d.ts +7 -2
- package/package.json +1 -1
|
@@ -32,6 +32,304 @@ local function __TS__ClassExtends(target, base)
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
local __TS__Symbol, Symbol
|
|
36
|
+
do
|
|
37
|
+
local symbolMetatable = {__tostring = function(self)
|
|
38
|
+
return ("Symbol(" .. (self.description or "")) .. ")"
|
|
39
|
+
end}
|
|
40
|
+
function __TS__Symbol(description)
|
|
41
|
+
return setmetatable({description = description}, symbolMetatable)
|
|
42
|
+
end
|
|
43
|
+
Symbol = {
|
|
44
|
+
asyncDispose = __TS__Symbol("Symbol.asyncDispose"),
|
|
45
|
+
dispose = __TS__Symbol("Symbol.dispose"),
|
|
46
|
+
iterator = __TS__Symbol("Symbol.iterator"),
|
|
47
|
+
hasInstance = __TS__Symbol("Symbol.hasInstance"),
|
|
48
|
+
species = __TS__Symbol("Symbol.species"),
|
|
49
|
+
toStringTag = __TS__Symbol("Symbol.toStringTag")
|
|
50
|
+
}
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
local __TS__Iterator
|
|
54
|
+
do
|
|
55
|
+
local function iteratorGeneratorStep(self)
|
|
56
|
+
local co = self.____coroutine
|
|
57
|
+
local status, value = coroutine.resume(co)
|
|
58
|
+
if not status then
|
|
59
|
+
error(value, 0)
|
|
60
|
+
end
|
|
61
|
+
if coroutine.status(co) == "dead" then
|
|
62
|
+
return
|
|
63
|
+
end
|
|
64
|
+
return true, value
|
|
65
|
+
end
|
|
66
|
+
local function iteratorIteratorStep(self)
|
|
67
|
+
local result = self:next()
|
|
68
|
+
if result.done then
|
|
69
|
+
return
|
|
70
|
+
end
|
|
71
|
+
return true, result.value
|
|
72
|
+
end
|
|
73
|
+
local function iteratorStringStep(self, index)
|
|
74
|
+
index = index + 1
|
|
75
|
+
if index > #self then
|
|
76
|
+
return
|
|
77
|
+
end
|
|
78
|
+
return index, string.sub(self, index, index)
|
|
79
|
+
end
|
|
80
|
+
function __TS__Iterator(iterable)
|
|
81
|
+
if type(iterable) == "string" then
|
|
82
|
+
return iteratorStringStep, iterable, 0
|
|
83
|
+
elseif iterable.____coroutine ~= nil then
|
|
84
|
+
return iteratorGeneratorStep, iterable
|
|
85
|
+
elseif iterable[Symbol.iterator] then
|
|
86
|
+
local iterator = iterable[Symbol.iterator](iterable)
|
|
87
|
+
return iteratorIteratorStep, iterator
|
|
88
|
+
else
|
|
89
|
+
return ipairs(iterable)
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
local function __TS__New(target, ...)
|
|
95
|
+
local instance = setmetatable({}, target.prototype)
|
|
96
|
+
instance:____constructor(...)
|
|
97
|
+
return instance
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
local Set
|
|
101
|
+
do
|
|
102
|
+
Set = __TS__Class()
|
|
103
|
+
Set.name = "Set"
|
|
104
|
+
function Set.prototype.____constructor(self, values)
|
|
105
|
+
self[Symbol.toStringTag] = "Set"
|
|
106
|
+
self.size = 0
|
|
107
|
+
self.nextKey = {}
|
|
108
|
+
self.previousKey = {}
|
|
109
|
+
if values == nil then
|
|
110
|
+
return
|
|
111
|
+
end
|
|
112
|
+
local iterable = values
|
|
113
|
+
if iterable[Symbol.iterator] then
|
|
114
|
+
local iterator = iterable[Symbol.iterator](iterable)
|
|
115
|
+
while true do
|
|
116
|
+
local result = iterator:next()
|
|
117
|
+
if result.done then
|
|
118
|
+
break
|
|
119
|
+
end
|
|
120
|
+
self:add(result.value)
|
|
121
|
+
end
|
|
122
|
+
else
|
|
123
|
+
local array = values
|
|
124
|
+
for ____, value in ipairs(array) do
|
|
125
|
+
self:add(value)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
function Set.prototype.add(self, value)
|
|
130
|
+
local isNewValue = not self:has(value)
|
|
131
|
+
if isNewValue then
|
|
132
|
+
self.size = self.size + 1
|
|
133
|
+
end
|
|
134
|
+
if self.firstKey == nil then
|
|
135
|
+
self.firstKey = value
|
|
136
|
+
self.lastKey = value
|
|
137
|
+
elseif isNewValue then
|
|
138
|
+
self.nextKey[self.lastKey] = value
|
|
139
|
+
self.previousKey[value] = self.lastKey
|
|
140
|
+
self.lastKey = value
|
|
141
|
+
end
|
|
142
|
+
return self
|
|
143
|
+
end
|
|
144
|
+
function Set.prototype.clear(self)
|
|
145
|
+
self.nextKey = {}
|
|
146
|
+
self.previousKey = {}
|
|
147
|
+
self.firstKey = nil
|
|
148
|
+
self.lastKey = nil
|
|
149
|
+
self.size = 0
|
|
150
|
+
end
|
|
151
|
+
function Set.prototype.delete(self, value)
|
|
152
|
+
local contains = self:has(value)
|
|
153
|
+
if contains then
|
|
154
|
+
self.size = self.size - 1
|
|
155
|
+
local next = self.nextKey[value]
|
|
156
|
+
local previous = self.previousKey[value]
|
|
157
|
+
if next ~= nil and previous ~= nil then
|
|
158
|
+
self.nextKey[previous] = next
|
|
159
|
+
self.previousKey[next] = previous
|
|
160
|
+
elseif next ~= nil then
|
|
161
|
+
self.firstKey = next
|
|
162
|
+
self.previousKey[next] = nil
|
|
163
|
+
elseif previous ~= nil then
|
|
164
|
+
self.lastKey = previous
|
|
165
|
+
self.nextKey[previous] = nil
|
|
166
|
+
else
|
|
167
|
+
self.firstKey = nil
|
|
168
|
+
self.lastKey = nil
|
|
169
|
+
end
|
|
170
|
+
self.nextKey[value] = nil
|
|
171
|
+
self.previousKey[value] = nil
|
|
172
|
+
end
|
|
173
|
+
return contains
|
|
174
|
+
end
|
|
175
|
+
function Set.prototype.forEach(self, callback)
|
|
176
|
+
for ____, key in __TS__Iterator(self:keys()) do
|
|
177
|
+
callback(nil, key, key, self)
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
function Set.prototype.has(self, value)
|
|
181
|
+
return self.nextKey[value] ~= nil or self.lastKey == value
|
|
182
|
+
end
|
|
183
|
+
Set.prototype[Symbol.iterator] = function(self)
|
|
184
|
+
return self:values()
|
|
185
|
+
end
|
|
186
|
+
function Set.prototype.entries(self)
|
|
187
|
+
local function getFirstKey()
|
|
188
|
+
return self.firstKey
|
|
189
|
+
end
|
|
190
|
+
local nextKey = self.nextKey
|
|
191
|
+
local key
|
|
192
|
+
local started = false
|
|
193
|
+
return {
|
|
194
|
+
[Symbol.iterator] = function(self)
|
|
195
|
+
return self
|
|
196
|
+
end,
|
|
197
|
+
next = function(self)
|
|
198
|
+
if not started then
|
|
199
|
+
started = true
|
|
200
|
+
key = getFirstKey(nil)
|
|
201
|
+
else
|
|
202
|
+
key = nextKey[key]
|
|
203
|
+
end
|
|
204
|
+
return {done = not key, value = {key, key}}
|
|
205
|
+
end
|
|
206
|
+
}
|
|
207
|
+
end
|
|
208
|
+
function Set.prototype.keys(self)
|
|
209
|
+
local function getFirstKey()
|
|
210
|
+
return self.firstKey
|
|
211
|
+
end
|
|
212
|
+
local nextKey = self.nextKey
|
|
213
|
+
local key
|
|
214
|
+
local started = false
|
|
215
|
+
return {
|
|
216
|
+
[Symbol.iterator] = function(self)
|
|
217
|
+
return self
|
|
218
|
+
end,
|
|
219
|
+
next = function(self)
|
|
220
|
+
if not started then
|
|
221
|
+
started = true
|
|
222
|
+
key = getFirstKey(nil)
|
|
223
|
+
else
|
|
224
|
+
key = nextKey[key]
|
|
225
|
+
end
|
|
226
|
+
return {done = not key, value = key}
|
|
227
|
+
end
|
|
228
|
+
}
|
|
229
|
+
end
|
|
230
|
+
function Set.prototype.values(self)
|
|
231
|
+
local function getFirstKey()
|
|
232
|
+
return self.firstKey
|
|
233
|
+
end
|
|
234
|
+
local nextKey = self.nextKey
|
|
235
|
+
local key
|
|
236
|
+
local started = false
|
|
237
|
+
return {
|
|
238
|
+
[Symbol.iterator] = function(self)
|
|
239
|
+
return self
|
|
240
|
+
end,
|
|
241
|
+
next = function(self)
|
|
242
|
+
if not started then
|
|
243
|
+
started = true
|
|
244
|
+
key = getFirstKey(nil)
|
|
245
|
+
else
|
|
246
|
+
key = nextKey[key]
|
|
247
|
+
end
|
|
248
|
+
return {done = not key, value = key}
|
|
249
|
+
end
|
|
250
|
+
}
|
|
251
|
+
end
|
|
252
|
+
function Set.prototype.union(self, other)
|
|
253
|
+
local result = __TS__New(Set, self)
|
|
254
|
+
for ____, item in __TS__Iterator(other) do
|
|
255
|
+
result:add(item)
|
|
256
|
+
end
|
|
257
|
+
return result
|
|
258
|
+
end
|
|
259
|
+
function Set.prototype.intersection(self, other)
|
|
260
|
+
local result = __TS__New(Set)
|
|
261
|
+
for ____, item in __TS__Iterator(self) do
|
|
262
|
+
if other:has(item) then
|
|
263
|
+
result:add(item)
|
|
264
|
+
end
|
|
265
|
+
end
|
|
266
|
+
return result
|
|
267
|
+
end
|
|
268
|
+
function Set.prototype.difference(self, other)
|
|
269
|
+
local result = __TS__New(Set, self)
|
|
270
|
+
for ____, item in __TS__Iterator(other) do
|
|
271
|
+
result:delete(item)
|
|
272
|
+
end
|
|
273
|
+
return result
|
|
274
|
+
end
|
|
275
|
+
function Set.prototype.symmetricDifference(self, other)
|
|
276
|
+
local result = __TS__New(Set, self)
|
|
277
|
+
for ____, item in __TS__Iterator(other) do
|
|
278
|
+
if self:has(item) then
|
|
279
|
+
result:delete(item)
|
|
280
|
+
else
|
|
281
|
+
result:add(item)
|
|
282
|
+
end
|
|
283
|
+
end
|
|
284
|
+
return result
|
|
285
|
+
end
|
|
286
|
+
function Set.prototype.isSubsetOf(self, other)
|
|
287
|
+
for ____, item in __TS__Iterator(self) do
|
|
288
|
+
if not other:has(item) then
|
|
289
|
+
return false
|
|
290
|
+
end
|
|
291
|
+
end
|
|
292
|
+
return true
|
|
293
|
+
end
|
|
294
|
+
function Set.prototype.isSupersetOf(self, other)
|
|
295
|
+
for ____, item in __TS__Iterator(other) do
|
|
296
|
+
if not self:has(item) then
|
|
297
|
+
return false
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
return true
|
|
301
|
+
end
|
|
302
|
+
function Set.prototype.isDisjointFrom(self, other)
|
|
303
|
+
for ____, item in __TS__Iterator(self) do
|
|
304
|
+
if other:has(item) then
|
|
305
|
+
return false
|
|
306
|
+
end
|
|
307
|
+
end
|
|
308
|
+
return true
|
|
309
|
+
end
|
|
310
|
+
Set[Symbol.species] = Set
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
local function __TS__ArrayIncludes(self, searchElement, fromIndex)
|
|
314
|
+
if fromIndex == nil then
|
|
315
|
+
fromIndex = 0
|
|
316
|
+
end
|
|
317
|
+
local len = #self
|
|
318
|
+
local k = fromIndex
|
|
319
|
+
if fromIndex < 0 then
|
|
320
|
+
k = len + fromIndex
|
|
321
|
+
end
|
|
322
|
+
if k < 0 then
|
|
323
|
+
k = 0
|
|
324
|
+
end
|
|
325
|
+
for i = k + 1, len do
|
|
326
|
+
if self[i] == searchElement then
|
|
327
|
+
return true
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
return false
|
|
331
|
+
end
|
|
332
|
+
|
|
35
333
|
local function __TS__CloneDescriptor(____bindingPattern0)
|
|
36
334
|
local value
|
|
37
335
|
local writable
|
|
@@ -169,12 +467,28 @@ do
|
|
|
169
467
|
metatable.__newindex = descriptorNewIndex
|
|
170
468
|
end
|
|
171
469
|
end
|
|
470
|
+
|
|
471
|
+
local function __TS__ObjectAssign(target, ...)
|
|
472
|
+
local sources = {...}
|
|
473
|
+
for i = 1, #sources do
|
|
474
|
+
local source = sources[i]
|
|
475
|
+
if type(source) == "table" then
|
|
476
|
+
for key in pairs(source) do
|
|
477
|
+
target[key] = source[key]
|
|
478
|
+
end
|
|
479
|
+
end
|
|
480
|
+
end
|
|
481
|
+
return target
|
|
482
|
+
end
|
|
172
483
|
-- End of Lua Library inline imports
|
|
173
484
|
local ____exports = {}
|
|
174
485
|
local ____ProgressSource = require("datasources.ProgressSource")
|
|
175
486
|
local ProgressSource = ____ProgressSource.ProgressSource
|
|
176
487
|
local ____UnitSource = require("datasources.UnitSource")
|
|
488
|
+
local Unit = ____UnitSource.Unit
|
|
177
489
|
local resolveUnit = ____UnitSource.resolveUnit
|
|
490
|
+
local ____DataSource = require("datasources.DataSource")
|
|
491
|
+
local DataSource = ____DataSource.DataSource
|
|
178
492
|
do
|
|
179
493
|
local ____UnitSource = require("datasources.UnitSource")
|
|
180
494
|
____exports.Unit = ____UnitSource.Unit
|
|
@@ -195,8 +509,33 @@ function Resource.prototype.____constructor(self, current, maximum, percent, uni
|
|
|
195
509
|
)
|
|
196
510
|
self.unitToken = unitToken
|
|
197
511
|
self.events = events
|
|
512
|
+
self.listeners = __TS__New(Set)
|
|
513
|
+
end
|
|
514
|
+
function Resource.prototype.AddEvents(self, ...)
|
|
515
|
+
local events = {...}
|
|
516
|
+
for ____, event in ipairs(events) do
|
|
517
|
+
do
|
|
518
|
+
local __continue5
|
|
519
|
+
repeat
|
|
520
|
+
if __TS__ArrayIncludes(self.events, event) then
|
|
521
|
+
__continue5 = true
|
|
522
|
+
break
|
|
523
|
+
end
|
|
524
|
+
local ____self_events_0 = self.events
|
|
525
|
+
____self_events_0[#____self_events_0 + 1] = event
|
|
526
|
+
for ____, frame in __TS__Iterator(self.listeners) do
|
|
527
|
+
frame:RegisterEvent(event)
|
|
528
|
+
end
|
|
529
|
+
__continue5 = true
|
|
530
|
+
until true
|
|
531
|
+
if not __continue5 then
|
|
532
|
+
break
|
|
533
|
+
end
|
|
534
|
+
end
|
|
535
|
+
end
|
|
198
536
|
end
|
|
199
537
|
function Resource.prototype.Listen(self, frame, refresh)
|
|
538
|
+
self.listeners:add(frame)
|
|
200
539
|
frame:SetScript(
|
|
201
540
|
"OnEvent",
|
|
202
541
|
function(_frame, event, unit)
|
|
@@ -209,12 +548,59 @@ function Resource.prototype.Listen(self, frame, refresh)
|
|
|
209
548
|
for ____, event in ipairs(self.events) do
|
|
210
549
|
frame:RegisterEvent(event)
|
|
211
550
|
end
|
|
551
|
+
return function()
|
|
552
|
+
self.listeners:delete(frame)
|
|
553
|
+
frame:UnregisterAllEvents()
|
|
554
|
+
frame:SetScript("OnEvent", nil)
|
|
555
|
+
end
|
|
212
556
|
end
|
|
557
|
+
--- Live optional prediction channel. Secret amounts only travel to native sinks.
|
|
558
|
+
____exports.HealthPrediction = __TS__Class()
|
|
559
|
+
local HealthPrediction = ____exports.HealthPrediction
|
|
560
|
+
HealthPrediction.name = "HealthPrediction"
|
|
561
|
+
__TS__ClassExtends(HealthPrediction, DataSource)
|
|
562
|
+
function HealthPrediction.prototype.____constructor(self, read)
|
|
563
|
+
DataSource.prototype.____constructor(self, 0)
|
|
564
|
+
self.read = read
|
|
565
|
+
end
|
|
566
|
+
function HealthPrediction.prototype.GetValue(self)
|
|
567
|
+
local ____opt_1 = self.read
|
|
568
|
+
local value = ____opt_1 and ____opt_1(self)
|
|
569
|
+
if issecretvalue(value) then
|
|
570
|
+
return value
|
|
571
|
+
end
|
|
572
|
+
return value or 0
|
|
573
|
+
end
|
|
574
|
+
function HealthPrediction.prototype.ApplyTo(self, frame, maximum)
|
|
575
|
+
if not self.IsAvailable then
|
|
576
|
+
frame:Hide()
|
|
577
|
+
return
|
|
578
|
+
end
|
|
579
|
+
local value = self:GetValue()
|
|
580
|
+
if not self:CanEmit(value) then
|
|
581
|
+
frame:Hide()
|
|
582
|
+
return
|
|
583
|
+
end
|
|
584
|
+
frame:SetMinMaxValues(0, maximum)
|
|
585
|
+
frame:SetValue(value)
|
|
586
|
+
frame:Show()
|
|
587
|
+
end
|
|
588
|
+
__TS__SetDescriptor(
|
|
589
|
+
HealthPrediction.prototype,
|
|
590
|
+
"IsAvailable",
|
|
591
|
+
{get = function(self)
|
|
592
|
+
return self.read ~= nil
|
|
593
|
+
end},
|
|
594
|
+
true
|
|
595
|
+
)
|
|
213
596
|
____exports.HP = __TS__Class()
|
|
214
597
|
local HP = ____exports.HP
|
|
215
598
|
HP.name = "HP"
|
|
216
599
|
__TS__ClassExtends(HP, Resource)
|
|
217
600
|
function HP.prototype.____constructor(self, unit)
|
|
601
|
+
if unit == nil then
|
|
602
|
+
unit = Unit.Player
|
|
603
|
+
end
|
|
218
604
|
local target = resolveUnit(nil, unit)
|
|
219
605
|
Resource.prototype.____constructor(
|
|
220
606
|
self,
|
|
@@ -226,6 +612,93 @@ function HP.prototype.____constructor(self, unit)
|
|
|
226
612
|
)
|
|
227
613
|
self.target = target
|
|
228
614
|
end
|
|
615
|
+
function HP.prototype.UseHealPrediction(self)
|
|
616
|
+
if self.healPrediction == nil then
|
|
617
|
+
local ____exports_HealthPrediction_4 = ____exports.HealthPrediction
|
|
618
|
+
local ____temp_3
|
|
619
|
+
if UnitGetIncomingHeals == nil then
|
|
620
|
+
____temp_3 = nil
|
|
621
|
+
else
|
|
622
|
+
____temp_3 = function() return UnitGetIncomingHeals(self.unit) end
|
|
623
|
+
end
|
|
624
|
+
self.healPrediction = __TS__New(____exports_HealthPrediction_4, ____temp_3)
|
|
625
|
+
if self.healPrediction.IsAvailable then
|
|
626
|
+
self:AddEvents("UNIT_HEAL_PREDICTION")
|
|
627
|
+
end
|
|
628
|
+
end
|
|
629
|
+
return self
|
|
630
|
+
end
|
|
631
|
+
function HP.prototype.UseAbsorbPrediction(self)
|
|
632
|
+
if self.absorbPrediction == nil then
|
|
633
|
+
local ____exports_HealthPrediction_6 = ____exports.HealthPrediction
|
|
634
|
+
local ____temp_5
|
|
635
|
+
if UnitGetTotalAbsorbs == nil then
|
|
636
|
+
____temp_5 = nil
|
|
637
|
+
else
|
|
638
|
+
____temp_5 = function() return UnitGetTotalAbsorbs(self.unit) end
|
|
639
|
+
end
|
|
640
|
+
self.absorbPrediction = __TS__New(____exports_HealthPrediction_6, ____temp_5)
|
|
641
|
+
if self.absorbPrediction.IsAvailable then
|
|
642
|
+
self:AddEvents("UNIT_ABSORB_AMOUNT_CHANGED")
|
|
643
|
+
end
|
|
644
|
+
end
|
|
645
|
+
return self
|
|
646
|
+
end
|
|
647
|
+
function HP.prototype.BindTo(self, frame, options)
|
|
648
|
+
if options == nil then
|
|
649
|
+
options = {}
|
|
650
|
+
end
|
|
651
|
+
if (options.healPredictionBar ~= nil or options.absorbPredictionBar ~= nil) and (options.min ~= nil or options.max ~= nil or options.current ~= nil) then
|
|
652
|
+
error("HP: prediction overlays require the native health scale without min/max/current overrides")
|
|
653
|
+
end
|
|
654
|
+
return Resource.prototype.BindTo(
|
|
655
|
+
self,
|
|
656
|
+
frame,
|
|
657
|
+
__TS__ObjectAssign(
|
|
658
|
+
{},
|
|
659
|
+
options,
|
|
660
|
+
{onRefresh = function()
|
|
661
|
+
if options.healPredictionBar ~= nil or options.absorbPredictionBar ~= nil then
|
|
662
|
+
local maximum = UnitHealthMax(self.unit)
|
|
663
|
+
if options.healPredictionBar ~= nil then
|
|
664
|
+
local ____opt_7 = self.healPrediction
|
|
665
|
+
if ____opt_7 ~= nil then
|
|
666
|
+
____opt_7:ApplyTo(options.healPredictionBar, maximum)
|
|
667
|
+
end
|
|
668
|
+
end
|
|
669
|
+
if options.absorbPredictionBar ~= nil then
|
|
670
|
+
local ____opt_9 = self.absorbPrediction
|
|
671
|
+
if ____opt_9 ~= nil then
|
|
672
|
+
____opt_9:ApplyTo(options.absorbPredictionBar, maximum)
|
|
673
|
+
end
|
|
674
|
+
end
|
|
675
|
+
end
|
|
676
|
+
local ____this_12
|
|
677
|
+
____this_12 = options
|
|
678
|
+
local ____opt_11 = ____this_12.onRefresh
|
|
679
|
+
if ____opt_11 ~= nil then
|
|
680
|
+
____opt_11(____this_12)
|
|
681
|
+
end
|
|
682
|
+
end}
|
|
683
|
+
)
|
|
684
|
+
)
|
|
685
|
+
end
|
|
686
|
+
__TS__SetDescriptor(
|
|
687
|
+
HP.prototype,
|
|
688
|
+
"HealPrediction",
|
|
689
|
+
{get = function(self)
|
|
690
|
+
return self.healPrediction
|
|
691
|
+
end},
|
|
692
|
+
true
|
|
693
|
+
)
|
|
694
|
+
__TS__SetDescriptor(
|
|
695
|
+
HP.prototype,
|
|
696
|
+
"AbsorbPrediction",
|
|
697
|
+
{get = function(self)
|
|
698
|
+
return self.absorbPrediction
|
|
699
|
+
end},
|
|
700
|
+
true
|
|
701
|
+
)
|
|
229
702
|
__TS__SetDescriptor(
|
|
230
703
|
HP.prototype,
|
|
231
704
|
"unit",
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TimerSource } from "./TimerSource";
|
|
2
|
+
/** Native cooldown duration, including opaque timings during combat. */
|
|
3
|
+
export declare class SpellCooldown extends TimerSource {
|
|
4
|
+
readonly spellId: number;
|
|
5
|
+
constructor(spellId: number);
|
|
6
|
+
get IsAvailable(): boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class GlobalCooldown extends SpellCooldown {
|
|
9
|
+
constructor();
|
|
10
|
+
}
|