ESOUI SVN TaosGroupTools

[/] [trunk/] [TaosGroupTools/] [TaosGroupTools.lua] - Blame information for rev 146

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 Taonnor-14572
--[[
2 Taonnor-14572
        Addon: Taos Group Tools
3 Taonnor-14572
        Author: TProg Taonnor
4 Taonnor-14572
        Created by @Taonnor
5 82 Taonnor-14572
 
6 Taonnor-14572
    Copyright (c) 2018 Torsten Philipp (Taonnor) All rights reserved.
7 Taonnor-14572
 
8 Taonnor-14572
    Permission is hereby granted, free of charge, to any person obtaining
9 Taonnor-14572
    a copy of this software and associated documentation (the "Software"),
10 Taonnor-14572
    to operate the Software for personal use only. Permission is NOT granted
11 Taonnor-14572
    to modify, merge, publish, distribute, sublicense, re-upload, and/or sell
12 Taonnor-14572
    copies of the Software. Additionally, licensed use of the Software
13 Taonnor-14572
    will be subject to the following:
14 Taonnor-14572
 
15 Taonnor-14572
    The above copyright notice and this permission notice shall be
16 Taonnor-14572
    included in all copies or substantial portions of the Software.
17 Taonnor-14572
 
18 Taonnor-14572
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 Taonnor-14572
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20 Taonnor-14572
    OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 Taonnor-14572
    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22 Taonnor-14572
    HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 Taonnor-14572
    WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 Taonnor-14572
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 Taonnor-14572
    OTHER DEALINGS IN THE SOFTWARE.
26 Taonnor-14572
 
27 Taonnor-14572
    -------------------------------------------------------------------------------
28 Taonnor-14572
 
29 Taonnor-14572
    DISCLAIMER:
30 Taonnor-14572
 
31 Taonnor-14572
    This Add-on is not created by, affiliated with or sponsored by ZeniMax
32 Taonnor-14572
    Media Inc. or its affiliates. The Elder Scrolls® and related logos are
33 Taonnor-14572
    registered trademarks or trademarks of ZeniMax Media Inc. in the United
34 Taonnor-14572
    States and/or other countries. All rights reserved.
35 Taonnor-14572
 
36 Taonnor-14572
    You can read the full terms at:
37 Taonnor-14572
    https://account.elderscrollsonline.com/add-on-terms
38 2 Taonnor-14572
]]--
39 Taonnor-14572
 
40 Taonnor-14572
--[[
41 Taonnor-14572
        Local variables
42 Taonnor-14572
]]--
43 117 Taonnor-14572
local MAJOR = "1"
44 137 Taonnor-14572
local MINOR = "1"
45 146 Taonnor-14572
local PATCH = "6"
46 2 Taonnor-14572
 
47 Taonnor-14572
local LOG_NAME = "TGT-DebugLogger"
48 90 Taonnor-14572
local LOG_FILE = "TaosGroupToolLogs"
49 51 Taonnor-14572
local TRACE_ACTIVE = false
50 140 Taonnor-14572
local DEBUG_ACTIVE = false
51 2 Taonnor-14572
local ERROR_ACTIVE = true
52 47 Taonnor-14572
local DIRECT_PRINT = false
53 2 Taonnor-14572
local CATCH_LUA_ERRORS = false
54 Taonnor-14572
 
55 42 Taonnor-14572
local _addonName = "TaosGroupTools"
56 2 Taonnor-14572
 
57 Taonnor-14572
--[[
58 47 Taonnor-14572
        Global variables
59 Taonnor-14572
]]--
60 81 Taonnor-14572
TGT_MOCKED = false
61 90 Taonnor-14572
TGT_LOGGER = TaosDebugLogger(LOG_NAME, nil, TRACE_ACTIVE, DEBUG_ACTIVE, ERROR_ACTIVE, DIRECT_PRINT, CATCH_LUA_ERRORS, LOG_FILE)
62 47 Taonnor-14572
 
63 Taonnor-14572
--[[
64 42 Taonnor-14572
        InitializeAddon Initializes Addon
65 2 Taonnor-14572
]]--
66 42 Taonnor-14572
local function InitializeAddon()
67 90 Taonnor-14572
    TGT_LOGGER:InitLogFile()
68 Taonnor-14572
 
69 2 Taonnor-14572
    -- Initialize logging
70 43 Taonnor-14572
    TGT_LOGGER:logTrace("TaosGroupTools -> Initialize")
71 2 Taonnor-14572
 
72 Taonnor-14572
    -- If mocking active, mock ZOS methods with mock methods
73 43 Taonnor-14572
    if (TGT_MOCKED) then
74 2 Taonnor-14572
        MockZOSMethods()
75 Taonnor-14572
    end
76 Taonnor-14572
 
77 Taonnor-14572
    -- Initialize settings
78 47 Taonnor-14572
    TGT_SettingsHandler.Initialize()
79 2 Taonnor-14572
 
80 Taonnor-14572
    -- Initialize communication
81 55 Taonnor-14572
    TGT_Messages.Initialize()
82 47 Taonnor-14572
    TGT_Communicator.Initialize()
83 2 Taonnor-14572
 
84 Taonnor-14572
    -- Initialize logic
85 47 Taonnor-14572
        TGT_UltimateGroupHandler.Initialize()
86 Taonnor-14572
    TGT_PlayerHandler.Initialize()
87 Taonnor-14572
    TGT_InviteHandler.Initialize()
88 Taonnor-14572
    TGT_CommandsHandler.Initialize()
89 2 Taonnor-14572
 
90 3 Taonnor-14572
    -- Initialize UI
91 47 Taonnor-14572
    TGT_SettingsWindow.Initialize(MAJOR, MINOR, PATCH)
92 2 Taonnor-14572
 
93 3 Taonnor-14572
    -- Group Ultimate UI
94 47 Taonnor-14572
    TGT_UltimateGroupMenu.Initialize()
95 Taonnor-14572
    TGT_GroupUltimateSelector.Initialize()
96 Taonnor-14572
    TGT_SimpleList.Initialize()
97 Taonnor-14572
    TGT_SwimlaneList.Initialize()
98 Taonnor-14572
    TGT_CompactSwimlaneList.Initialize()
99 2 Taonnor-14572
 
100 3 Taonnor-14572
    -- Group Leader UI
101 47 Taonnor-14572
    TGT_FloatingLeaderMarker.Initialize()
102 Taonnor-14572
    TGT_CenteredLeaderMarker.Initialize()
103 100 Taonnor-14572
    TGT_CustomizedCompass.Initialize()
104 3 Taonnor-14572
 
105 8 Taonnor-14572
    -- Group Invite UI
106 47 Taonnor-14572
    TGT_GroupMenuIntegration.Initialize()
107 8 Taonnor-14572
 
108 21 Taonnor-14572
    -- Group DPS/HPS UI
109 47 Taonnor-14572
    TGT_SimpleDpsHpsList.Initialize()
110 99 Taonnor-14572
    TGT_DpsHpsBarList.Initialize()
111 21 Taonnor-14572
 
112 76 Taonnor-14572
    -- Group Frames UI
113 85 Taonnor-14572
    TGT_SubGroupMenu.Initialize()
114 76 Taonnor-14572
    TGT_GroupFrames.Initialize()
115 Taonnor-14572
 
116 96 Taonnor-14572
    -- Detonation Tracker UI
117 Taonnor-14572
    TGT_DetonationTracker.Initialize()
118 Taonnor-14572
 
119 111 Taonnor-14572
    -- Purge Tracker UI
120 Taonnor-14572
    TGT_PurgeTracker.Initialize()
121 130 Taonnor-14572
 
122 Taonnor-14572
    -- Speed Tracker UI
123 Taonnor-14572
    TGT_SpeedTracker.Initialize()
124 131 Taonnor-14572
 
125 Taonnor-14572
    -- Earthgore Tracker UI
126 Taonnor-14572
    TGT_EarthgoreTracker.Initialize()
127 111 Taonnor-14572
 
128 46 Taonnor-14572
    TGT_LOGGER:logTrace("TaosGroupTools -> Initialize finished")
129 2 Taonnor-14572
end
130 Taonnor-14572
 
131 Taonnor-14572
--[[
132 Taonnor-14572
        OnAddOnLoaded if TaosGroupTools is loaded, initialize
133 Taonnor-14572
]]--
134 Taonnor-14572
local function OnAddOnLoaded(eventCode, addOnName)
135 42 Taonnor-14572
        if (addOnName == _addonName) then
136 2 Taonnor-14572
 
137 Taonnor-14572
        -- Unregister Loaded Callback
138 42 Taonnor-14572
        EVENT_MANAGER:UnregisterForEvent(_addonName, EVENT_ADD_ON_LOADED)
139 2 Taonnor-14572
 
140 Taonnor-14572
        -- Initialize
141 42 Taonnor-14572
                InitializeAddon()
142 2 Taonnor-14572
        end
143 Taonnor-14572
end
144 Taonnor-14572
 
145 Taonnor-14572
-- Register Loaded Callback
146 42 Taonnor-14572
EVENT_MANAGER:RegisterForEvent(_addonName, EVENT_ADD_ON_LOADED, OnAddOnLoaded);