You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
969 B
40 lines
969 B
local _, addon = ...
|
|
|
|
local Gemma = {};
|
|
addon.Gemma = Gemma;
|
|
Gemma.dataProviders = {};
|
|
|
|
function Gemma:SetDataProvider(dataProvider)
|
|
self.activeDataProvider = dataProvider;
|
|
return dataProvider
|
|
end
|
|
|
|
function Gemma:GetActiveSchematic()
|
|
return self.activeDataProvider.schematic
|
|
end
|
|
|
|
function Gemma:GetActiveTabData()
|
|
return self.activeDataProvider.schematic.tabData
|
|
end
|
|
|
|
function Gemma:SetDataProviderByName(name)
|
|
return self:SetDataProvider(self.dataProviders[name])
|
|
end
|
|
|
|
function Gemma:AddDataProvider(name, dataProvider)
|
|
self.dataProviders[name] = dataProvider;
|
|
end
|
|
|
|
function Gemma:GetSortedItemList()
|
|
return self.activeDataProvider:GetSortedItemList();
|
|
end
|
|
|
|
function Gemma:GetActiveMethods()
|
|
return self.activeDataProvider.GemManagerMixin
|
|
end
|
|
|
|
function Gemma:GetGemSpell(itemID)
|
|
if self.activeDataProvider.GetGemSpell then
|
|
return self.activeDataProvider:GetGemSpell(itemID)
|
|
end
|
|
end
|