|
1 | 1 | -- the data for LibTalentTree resides in LibTalentTree-1.0_data.lua |
2 | 2 |
|
3 | | -local MAJOR, MINOR = "LibTalentTree-1.0", 2 |
| 3 | +local MAJOR, MINOR = "LibTalentTree-1.0", 3 |
4 | 4 | --- @class LibTalentTree |
5 | 5 | local LibTalentTree = LibStub:NewLibrary(MAJOR, MINOR) |
6 | 6 |
|
@@ -50,6 +50,13 @@ LibTalentTree.dataVersion = 0 -- overwritten in LibTalentTree-1.0_data.lua |
50 | 50 | ---@field specInfo: table<number, number[]> # specId: conditionType[] see Enum.TraitConditionType |
51 | 51 | ---@field isClassNode: boolean |
52 | 52 |
|
| 53 | +---@class entryInfo |
| 54 | +---@field definitionID number # TraitDefinitionID |
| 55 | +---@field type number # see Enum.TraitNodeEntryType |
| 56 | +---@field maxRanks number |
| 57 | +---@field isAvailable boolean # LibTalentTree always returns true |
| 58 | +---@field conditionIDs number[] # list of TraitConditionID, LibTalentTree always returns an empty table |
| 59 | + |
53 | 60 | ---@class gateInfo |
54 | 61 | ---@field topLeftNodeID number # TraitNodeID - the node that is the top left corner of the gate |
55 | 62 | ---@field conditionID number # TraitConditionID |
@@ -119,6 +126,23 @@ function LibTalentTree:GetNodeInfo(treeId, nodeId) |
119 | 126 | return Mixin(cNodeInfo, libNodeInfo); |
120 | 127 | end |
121 | 128 |
|
| 129 | +--- @public |
| 130 | +--- @param treeId number # TraitTreeID |
| 131 | +--- @param entryId number # TraitEntryID |
| 132 | +--- @return ( entryInfo | nil ) |
| 133 | +function LibTalentTree:GetEntryInfo(treeId, entryId) |
| 134 | + assert(type(treeId) == 'number', 'treeId must be a number'); |
| 135 | + assert(type(entryId) == 'number', 'entryId must be a number'); |
| 136 | + |
| 137 | + local entryInfo = self.entryData[treeId] and self.entryData[treeId][entryId] and deepCopy(self.entryData[treeId][entryId]) or nil; |
| 138 | + if (entryInfo) then |
| 139 | + entryInfo.isAvailable = true; |
| 140 | + entryInfo.conditionIDs = {}; |
| 141 | + end |
| 142 | + |
| 143 | + return entryInfo; |
| 144 | +end |
| 145 | + |
122 | 146 | --- @public |
123 | 147 | --- @param class (string | number) # ClassID or ClassFilename - e.g. "DEATHKNIGHT" or 6 - See https://wowpedia.fandom.com/wiki/ClassId |
124 | 148 | --- @return ( number | nil ) # TraitTreeID |
|
0 commit comments