-
Notifications
You must be signed in to change notification settings - Fork 2
/
types.lua
122 lines (101 loc) · 4.79 KB
/
types.lua
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
--- @meta _
--- Only some of the types described here, are part of the public API.
-------------------
----- public ------
-------------------
--- @class TalentLoadoutManagerAPI_LoadoutInfo
--- @field id number|string - custom loadouts are prefixed with "C_" to avoid collisions with blizzard loadouts
--- @field displayName string - blizzard loadouts are prefixed with a small Blizzard icon, leveling builds have an XP icon prefixed
--- @field name string - the raw loadout name
--- @field serializedNodes string - serialized loadout, this is NOT an export string, but rather an internal TLM format
--- @field serializedLevelingOrder string|nil - serialized leveling order, nil if no leveling information is attached, it's also an internal TLM format
--- @field owner string|nil - player-realm, only applies to Blizzard loadouts
--- @field playerIsOwner boolean - false for Blizzard loadouts owned by alts
--- @field isBlizzardLoadout boolean
--- @field parentMapping number[]|nil - only set if this is a custom loadout, [playerName-realmName] = parentLoadoutID, position [0] contains the current player's parentLoadoutID if any
--- @field classID number
--- @field specID number
-------------------
----- private -----
-------------------
--- @class TLM_SideBarDataProviderEntry
--- @field text string
--- @field data TLM_SideBarLoadoutInfo
--- @field isActive boolean
--- @field parentID number|nil
--- @class TLM_SideBarLoadoutInfo: TalentLoadoutManagerAPI_LoadoutInfo
--- @field parentID number|nil
--- @class TLM_LevelingBuildEntry
--- @field nodeID number
--- @field targetRank number # for choice nodes, this is always 1
--- @class TLM_LevelingBuildEntry_withEntry: TLM_LevelingBuildEntry
--- @field entryID number|nil
--- @class TLM_LevelingBuildEntry_withLevel: TLM_LevelingBuildEntry
--- @field level number
--- @class TLM_LevelingBuild
--- @field entries table<number, table<number, TLM_LevelingBuildEntry_withEntry>> # [tree] = {[level] = entry}, where tree is 1 for class, 2 for spec, or tree is SubTreeID for hero specs
--- @field selectedSubTreeID number? # Selected Hero Spec ID, if any
--- @class TLM_LoadoutEntryInfo
--- @field nodeID number
--- @field ranksPurchased number
--- @field selectionEntryID number
--- @field isChoiceNode boolean
--- @class TLM_LoadoutDisplayInfo
--- @field id number|string - custom loadouts are prefixed with "C_" to avoid collisions with blizzard loadouts
--- @field displayName string
--- @field loadoutInfo TLM_LoadoutInfo
--- @field owner string|nil
--- @field playerIsOwner boolean
--- @field isBlizzardLoadout boolean
--- @field parentMapping number[]|nil - only set if this is a custom loadout, [playerName-realmName] = parentLoadoutID, position [0] contains the current player's parentLoadoutID if any
--- @field classID number
--- @field specID number
--- @class TLM_LoadoutInfo_partial
--- @field name string
--- @field selectedNodes string - serialized loadout
--- @field levelingOrder string|nil - serialized leveling order
--- @class TLM_LoadoutInfo: TLM_LoadoutInfo_partial
--- @field id number|string - custom loadouts are prefixed with "C_" to avoid collisions with blizzard loadouts
--- @class TLM_DeserializedLoadout
--- @field nodeID number
--- @field entryID number
--- @field spellID number # instead contains the SubTreeID, if the node is a subtree selection node
--- @field rank number
--- @class TLM_ElementFrame: Button
--- @alias TLM_ConfigOptions
---|"autoApplyOnLevelUp"
---|"autoScale"
---|"autoPosition"
---|"autoApply"
---|"integrateWithSimc"
---|"sideBarBackgroundColor"
---|"sideBarActiveElementTextColor"
---|"sideBarActiveElementBackgroundColor"
---|"sideBarActiveElementHighlightBackgroundColor"
---|"sideBarInactiveElementTextColor"
---|"sideBarInactiveElementBackgroundColor"
---|"sideBarInactiveElementHighlightBackgroundColor"
-------------------
----- FrameXML ----
-------------------
---[FrameXML](https://www.townlong-yak.com/framexml/go/ImportDataStreamMixin)
---@class ImportDataStreamMixin
---@field dataValues number[]
---@field currentIndex number
---@field currentExtractedBits number
---@field currentRemainingValue number
ImportDataStreamMixin = {}
---[FrameXML](https://www.townlong-yak.com/framexml/go/ImportDataStreamMixin:Init)
---@param exportString string
function ImportDataStreamMixin:Init(exportString) end
---[FrameXML](https://www.townlong-yak.com/framexml/go/ImportDataStreamMixin:ExtractValue)
---@param bitWidth number
---@return number?
function ImportDataStreamMixin:ExtractValue(bitWidth) end
---[FrameXML](https://www.townlong-yak.com/framexml/go/ImportDataStreamMixin:GetNumberOfBits)
---@return number
function ImportDataStreamMixin:GetNumberOfBits() end
---[FrameXML](https://www.townlong-yak.com/framexml/go/ExportUtil.MakeImportDataStream)
---@param exportString string
---@return ImportDataStreamMixin
function ExportUtil.MakeImportDataStream(exportString) end