Freeze to import needed parts from stopped LibGUID

This commit is contained in:
Robin 2021-02-20 14:47:23 +01:00
parent 4b8c7bc512
commit b2f352c76e
3 changed files with 23 additions and 13 deletions

View File

@ -1,6 +1,6 @@
local lib = LibStub:NewLibrary("LibCombatLog_data", 1) local lib = LibStub:NewLibrary("LibCombatLog_data", 1)
if not lib then return end if not lib then return end
local isGUID = LibStub("LibGUID").isGUID local LibGUID = LibStub("LibGUID"):Embed()
local mixins = {'CreateDataObject'} local mixins = {'CreateDataObject'}
local data_methods = data_methods or {} local data_methods = data_methods or {}
lib.mixinTargets = lib.mixinTargets or {} lib.mixinTargets = lib.mixinTargets or {}
@ -16,35 +16,43 @@ function lib:CreateDataObject(data, prefix, suffix)
end end
end end
end end
function data_methods:Get(key)
return self['db'][key]
end
function data_methods:Set(key, value)
self['db'][key] = value
end
function data_methods:HasSource() function data_methods:HasSource()
return isGUID(self[5]) return LibGUID:IsGUID(self[5])
end end
function data_methods:HasDestination() function data_methods:HasDestination()
return isGUID(self[9]) return LibGUID:IsGUID(self[9])
end end
function data_methods:HasExtraSource() function data_methods:HasExtraSource()
return isGUID(self[16]) return LibGUID:IsGUID(self[16])
end end
function data_methods:GetSource() function data_methods:GetSource()
if(self:HasSource()) then if(self:HasSource()) then
return { data[5], data[6], data[7] } return { self[5], self[6], self[7] }
end end
end end
function data_methods:GetDestination() function data_methods:GetDestination()
if(self:HasDestination()) then if(self:HasDestination()) then
return { data[9], data[10], data[11] } return { self[9], self[10], self[11] }
end end
end end
function data_methods:GetExtraSource() function data_methods:GetExtraSource()
if(self:HasExtraSource()) then if(self:HasExtraSource()) then
return { data[16], data[17], data[18] } return { self[16], self[17], self[18] }
end end
end end
function lib:Embed(target) function lib:Embed(target)
for _,name in pairs(mixins) do target = target or CreateFrame("FRAME")
target[name] = lib[name] for _,name in pairs(mixins) do
end target[name] = lib[name]
lib.mixinTargets[target] = true end
lib.mixinTargets[target] = true
return target
end end
for target, _ in pairs(lib.mixinTargets) do for target, _ in pairs(lib.mixinTargets) do
lib:Embed(target) lib:Embed(target)

View File

@ -1,5 +1,7 @@
## Interface: 90002 ## Interface: 90002
## Name: LibCombatlog_data ## Name: LibCombatlog_data
## Description: Manage combatlog events ## Description: Manage combatlog events
## OptionalDeps: LibCombatlog ## OptionalDeps: LibCombatlog, LibGUID
Libs\LibStub\LibStub.lua
Libs\LibGUID\LibGUID.lua
LibCombatlog_data.lua LibCombatlog_data.lua

@ -1 +1 @@
Subproject commit b08e75faa6a04d781ddfbae53fbca5fde947b7a0 Subproject commit 62d18c09b0dd4ec28067942ca30543b2d2b9bd33