Mercurial > wow > devian
comparison Devian.lua @ 55:1b8c597dba44
added movement fading
todo: sort out dock mouseover hitches
author | Nenue |
---|---|
date | Wed, 06 Jan 2016 07:37:17 -0500 |
parents | 4c05e55b0433 |
children | 4b1b301cf8d4 |
comparison
equal
deleted
inserted
replaced
54:25725b0c933c | 55:1b8c597dba44 |
---|---|
22 local print = _G.print | 22 local print = _G.print |
23 local db | 23 local db |
24 local defaults = { | 24 local defaults = { |
25 ['global'] = {{}, {}}, | 25 ['global'] = {{}, {}}, |
26 ['tags'] = {}, | 26 ['tags'] = {}, |
27 ['channels'] = {[1] = {signature = 'Main', index = 1, x = 100, y = 800, height = 500, width = 600, enabled = true}}, | 27 ['channels'] = {[1] = { |
28 signature = 'Main', | |
29 index = 1, | |
30 x = 100, y = 800, | |
31 height = 500, width = 600, | |
32 enabled = true}}, | |
28 ['profiles'] = { | 33 ['profiles'] = { |
29 {'Main', false}, | 34 {'Main', false}, |
30 {'Devian', true}, | 35 {'Devian', true}, |
31 {'Turok', true}, | 36 {'Turok', true}, |
32 {'Bam', true} | 37 {'Bam', true} |
33 }, | 38 }, |
34 primary_channel = 1, -- the channel to which default output is sent | 39 primary_channel = 1, -- the channel to which default output is sent |
35 current_channel = 1, -- the front channel | 40 current_channel = 1, -- the front channel |
36 max_channel = 1, -- the highest created channel id | 41 max_channel = 1, -- the highest created channel id |
37 enable = true, -- allow enabled consoles to appear | 42 enabled = true, -- allow enabled consoles to appear |
38 load_message = "Defaults loaded.", -- messages to be displayed after reload | 43 load_message = "Defaults loaded.", -- messages to be displayed after reload |
39 font = [[Interface\Addons\Devian\font\SourceCodePro-Regular.ttf]], -- font info | 44 font = [[Interface\Addons\Devian\font\SourceCodePro-Regular.ttf]], -- font info |
40 fontsize = 13, | 45 fontsize = 13, |
41 fontoutline = 'NONE', | 46 fontoutline = 'NONE', |
42 | 47 |
47 headeralpha = 1, | 52 headeralpha = 1, |
48 headerfontcolor = {1,1,1,1}, | 53 headerfontcolor = {1,1,1,1}, |
49 | 54 |
50 backdrop = {1,1,1,1}, -- background frame info | 55 backdrop = {1,1,1,1}, -- background frame info |
51 backgrad = {'VERTICAL', 0.1, 0.1, 0.1, 1, 0, 0, 0, 1}, | 56 backgrad = {'VERTICAL', 0.1, 0.1, 0.1, 1, 0, 0, 0, 1}, |
52 backblend = 'MOD', | 57 backblend = 'BLEND', |
53 backalpha = 1, | 58 backalpha = 1, |
54 backborder = {.5,.5,.5,1}, | 59 backborder = {.5,.5,.5,1}, |
55 backheader = {.25,.25,.25,1}, | 60 backheader = {.25,.25,.25,1}, |
56 | 61 |
57 frontdrop = {1,1,1,1}, -- foreground frame info | 62 frontdrop = {1,1,1,1}, -- foreground frame info |
58 frontgrad = {'VERTICAL', 0.1, 0.1, 0.1, 1, 0, 0, 0, 1}, | 63 frontgrad = {'VERTICAL', 0.1, 0.1, 0.1, 1, 0, 0, 0, 1}, |
59 frontblend = 'MOD', | 64 frontblend = 'BLEND', |
60 frontalpha = 1, | 65 frontalpha = 1, |
61 frontborder = {.07,.47,1,1}, | 66 frontborder = {.07,.47,1,1}, |
62 frontheader = {1,1,1,1}, | 67 frontheader = {1,1,1,1}, |
63 tagcolor = {}, -- tag color repository | 68 tagcolor = {}, -- tag color repository |
64 workspace = 2, -- current profile | 69 workspace = 2, -- current profile |
73 dock_fade_in = 0.15, | 78 dock_fade_in = 0.15, |
74 dock_fade_out = 0.45, | 79 dock_fade_out = 0.45, |
75 dock_button_alpha_on = 1, | 80 dock_button_alpha_on = 1, |
76 dock_button_alpha_off = 0.2, | 81 dock_button_alpha_off = 0.2, |
77 dock_button_fade_in = 0.075, | 82 dock_button_fade_in = 0.075, |
78 dock_button_fade_out = 0.075 | 83 dock_button_fade_out = 0.075, |
79 | 84 |
85 movement_fade = true, | |
86 movement_fade_time = 0.15, | |
80 } | 87 } |
81 | 88 |
82 local function ScanAddOnList(cmd, ...) | 89 local function ScanAddOnList(cmd, ...) |
83 local list_state | 90 local list_state |
84 | 91 |
293 local function Message(prefix, ...) | 300 local function Message(prefix, ...) |
294 if db.workspace == 1 then | 301 if db.workspace == 1 then |
295 return D.oldprint(prefix, ...) | 302 return D.oldprint(prefix, ...) |
296 end | 303 end |
297 | 304 |
298 if prefix == nil then | 305 if tostring(prefix) == nil then |
299 prefix = 1 | 306 prefix = 'nil*' |
300 end | 307 end |
301 | 308 |
302 local sendq = {} | 309 local sendq = {} |
303 local tag, id, tagged | 310 local tag, id, tagged |
304 local byName = true | 311 local byName = true |
331 | 338 |
332 db.tagcolor[prefix] = format('%02X%02X%02X', unpack(c)) | 339 db.tagcolor[prefix] = format('%02X%02X%02X', unpack(c)) |
333 end | 340 end |
334 pcolor = db.tagcolor[prefix] | 341 pcolor = db.tagcolor[prefix] |
335 | 342 |
336 local buffer = {'|cFF'.. pcolor..prefix ..'|r'} | 343 local buffer = {} |
337 for i = 1, select('#',...) do | 344 for i = 1, select('#',...) do |
338 local var = select(i, ...) | 345 local var = select(i, ...) |
339 | 346 |
340 if type(var) == 'table' then | 347 if type(var) == 'table' then |
341 if type(var.GetName) == 'function' then | 348 if type(var.GetName) == 'function' then |
354 | 361 |
355 insert(buffer, var) | 362 insert(buffer, var) |
356 end | 363 end |
357 local message = concat(buffer, ' ') | 364 local message = concat(buffer, ' ') |
358 for id, channel in pairs(sendq) do | 365 for id, channel in pairs(sendq) do |
359 channel.out:AddMessage(message) | 366 if channel.width < 250 then |
367 prefix = string.sub(prefix, 0,2) | |
368 end | |
369 channel.out:AddMessage('|cFF'.. pcolor..prefix ..'|r ' .. message) | |
360 UIFrameFadeIn(D.dock.buttons[id], db.dock_onshow_fade_time, db.dock_onshow_fade_from, db.dock_onshow_fade_to) | 370 UIFrameFadeIn(D.dock.buttons[id], db.dock_onshow_fade_time, db.dock_onshow_fade_from, db.dock_onshow_fade_to) |
361 UIFrameFadeIn(D.dock.buttons[id].caption, db.dock_onshow_fade_time, db.dock_onshow_fade_from, db.dock_onshow_fade_to) | 371 UIFrameFadeIn(D.dock.buttons[id].caption, db.dock_onshow_fade_time, db.dock_onshow_fade_from, db.dock_onshow_fade_to) |
362 end | 372 end |
363 wipe(buffer) | 373 wipe(buffer) |
364 end | 374 end |
399 end | 409 end |
400 self.modules.Config:ChatCommand(input) | 410 self.modules.Config:ChatCommand(input) |
401 end) | 411 end) |
402 --@end-debug@ | 412 --@end-debug@ |
403 | 413 |
414 -- movement fading | |
415 if db.movement_fade then | |
416 self:RegisterEvent('PLAYER_STARTED_MOVING', function() | |
417 for k, v in pairs(self.console) do | |
418 if v.enabled then | |
419 v.preAlpha = v:GetAlpha() | |
420 UIFrameFadeOut(v, db.movement_fade_time, v.preAlpha, 0) | |
421 UIFrameFadeOut(v.out, db.movement_fade_time, v.preAlpha, 0) | |
422 end | |
423 end | |
424 end) | |
425 self:RegisterEvent('PLAYER_STOPPED_MOVING', function() | |
426 for k, v in pairs(self.console) do | |
427 if v.enabled then | |
428 UIFrameFadeIn(v, db.movement_fade_time, v:GetAlpha(), v.alpha) | |
429 UIFrameFadeIn(v.out, db.movement_fade_time, v:GetAlpha(), v.alpha) | |
430 end | |
431 end | |
432 end) | |
433 end | |
404 end | 434 end |
405 | 435 |
406 function D:OnInitialize() | 436 function D:OnInitialize() |
407 -- commands | 437 -- commands |
408 self:RegisterChatCommand("cleandvn", function(args) | 438 self:RegisterChatCommand("cleandvn", function(args) |