-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathInit.lua
More file actions
72 lines (57 loc) · 2 KB
/
Init.lua
File metadata and controls
72 lines (57 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
-- Copyright The Sippy Cup Authors
-- SPDX-License-Identifier: Apache-2.0
---@class SIPPYCUP
local _, SIPPYCUP = ...;
-- Create a single event dispatcher frame for all addon events
local SIPPYCUP_Addon = CreateFrame("Frame", "SIPPYCUP_EventFrame");
-- Set up event handler to call methods on SIPPYCUP_Addon by event name
SIPPYCUP_Addon:SetScript("OnEvent", function(self, event, ...)
if self[event] then
self[event](self, event, ...);
end
end);
-- Register initial events needed on addon load and login
SIPPYCUP_Addon:RegisterEvent("ADDON_LOADED");
SIPPYCUP_Addon:RegisterEvent("PLAYER_LOGIN");
local CallbackHandler = LibStub("CallbackHandler-1.0");
SIPPYCUP.Callbacks = {};
SIPPYCUP.Callbacks.callbacks = CallbackHandler:New(SIPPYCUP.Callbacks);
function SIPPYCUP.Callbacks:TriggerEvent(eventTable, ...)
self.callbacks:Fire(eventTable, ...);
end
SIPPYCUP.Events = {
-- Startup
OPTIONS_LOADED = "OPTIONS_LOADED",
DATABASE_LOADED = "DATABASE_LOADED",
ADDON_IS_READY = "ADDON_IS_READY",
-- Loading Screens
LOADING_SCREEN_STARTED = "LOADING_SCREEN_STARTED",
LOADING_SCREEN_ENDED = "LOADING_SCREEN_ENDED",
};
SIPPYCUP.States = {
addonReady = false,
optionsLoaded = false,
databaseLoaded = false,
hasSeenFullUpdate = false,
loadingScreen = true,
playerLoggedIn = false,
pvpMatch = false,
};
SIPPYCUP.AddonMetadata = {
addonBuild = C_AddOns.GetAddOnMetadata("SippyCup", "X-Build"),
author = C_AddOns.GetAddOnMetadata("SippyCup", "Author"),
iconTexture = C_AddOns.GetAddOnMetadata("SippyCup", "IconTexture"),
notes = C_AddOns.GetAddOnMetadata("SippyCup", "Notes"),
title = C_AddOns.GetAddOnMetadata("SippyCup", "Title"),
version = C_AddOns.GetAddOnMetadata("SippyCup", "Version"),
};
--@debug@
-- Debug mode is enable when the add-on has not been packaged by Curse
SIPPYCUP.IS_DEV_BUILD = true;
--@end-debug@
--[===[@non-debug@
-- Debug mode is disabled when the add-on has been packaged by Curse
SIPPYCUP.IS_DEV_BUILD = false;
--@end-non-debug@]===]
_G.SIPPYCUP_Addon = SIPPYCUP_Addon;
_G.SIPPYCUP = SIPPYCUP;