ElvUI CoolLine Wrapper

ElvUI CoolLine Wrapper

11.3k Downloads

Feature: TomTom Crazy Arrow integration

LoneWanderer-GH opened this issue ยท 0 comments

commented

It would be great to have a mover for the TomTom Crazy Arrow.

However, after many attempts, it seems that the arrow frame does not exist when player enters world (WoW API PLAYER_ALIVE event). I can create the mover manually using the Wow LUA addon when I'm in game, using the ElvUI API. see screenhsot
movers_for_coolline_tomtom

It would be nice to hook on the frame creation, or delay mover creation using a timer (AceTimer would do the trick).

However, since the addon is based on an Elvui plugin, I faced issues using the provided Ace timer.

1. using the ElvUI provided Timer

local E, L, V, P, G = unpack(ElvUI);
local ElvUI_CoolLine_Wrapper = E:NewModule('ElvUI_CoolLine_Wrapper', 'AceHook-3.0', 'AceEvent-3.0', 'AceTimer-3.0');
...
function ElvUI_CoolLine_Wrapper:CreateMovers()
    ...
end
...
function ElvUI_CoolLine_Wrapper:Initialize()
    ...
    E:ScheduleTimer(CreateMovers, 15) -- <== raises an AceTimer error due to function not existing in module
    ...
end

Ace Timer Error :
Tried to register 'CreateMovers' as the callback, but it doesn't exist in the module.

2. Using own timer lib instance(?) :

    local AceTimer = LibStub("AceTimer-3.0");
    AceTimer:ScheduleTimer(CreateMovers, 15)

I get:
AceTimer-3.0-17: ScheduleTimer(callback, delay, args...): 'callback' and 'delay' must have set values.