Bureaucrats, Check users, emailconfirmed, Interface administrators, staff, Administrators, translation-admin, Widget editors
1,633
edits
(Default tooltip name for js-less viewing) |
(It would help if EffectSprite aliases were accessed) |
||
(32 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
local aliasData = { | local aliasData = { | ||
vanillaAliases = [[Module:InventorySlot/Aliases]], | |||
gm4Aliases = [[Module:Gm4Sprite/Aliases]], | |||
effectAliases = [[Module:EffectSprite/Aliases]] | |||
} | } | ||
Sprite.aliasData = aliasData | |||
local | Sprite.aliasData = aliasData | ||
local vanillaAliases = mw.loadData( aliasData.vanillaAliases ) | |||
local gm4Aliases = mw.loadData( aliasData.gm4Aliases ) | |||
local effectAliases = mw.loadData( aliasData.effectAliases ) | |||
local aliases | |||
local types = { | local types = { | ||
Line 63: | Line 69: | ||
error("Unknown type: " .. tostring(type)) | error("Unknown type: " .. tostring(type)) | ||
end | end | ||
o = { | o = { | ||
__source = require(source), | __source = require(source), | ||
Line 119: | Line 126: | ||
end | end | ||
function Sprite:setItem(item) | function Sprite:setItem(item, type) | ||
-- set aliases | |||
if type == "gm4" then | |||
aliases = gm4Aliases | |||
elseif type == "effect" then | |||
aliases = effectAliases | |||
else | |||
aliases = vanillaAliases | |||
end | |||
-- js-less plaintext title | -- js-less plaintext title | ||
self.__settings.name = item | self.__settings.name = item | ||
Line 138: | Line 153: | ||
elseif aliases[item].name then | elseif aliases[item].name then | ||
self.__settings.title = aliases[item].name | self.__settings.title = aliases[item].name | ||
end | |||
if aliases[item].name ~= nil then | |||
local itemName = aliases[item].name | |||
self:setPosition(self.__source.ids[itemName].pos) | |||
if self.__source.ids[itemName].spriteSheet then | |||
self.__settings.image = getSpriteSheet(self.__source.ids[itemName].spriteSheet) | |||
end | |||
end | end | ||
else | else | ||
self.__settings.title = item; | self.__settings.title = item; | ||
if self.__source.ids[item] then | |||
self:setPosition(self.__source.ids[item].pos) | |||
if self.__source.ids[item].spriteSheet then | |||
self.__settings.image = getSpriteSheet(self.__source.ids[item].spriteSheet) | |||
end | |||
else | |||
self:setPosition(nil) --will use default | |||
end | |||
end | end | ||
return self | return self | ||
end | end | ||
function Sprite:Item(item) | function Sprite:Item(item, type) | ||
local sprite = {} | local sprite = {} | ||
setmetatable(sprite, {__index = self}) | setmetatable(sprite, {__index = self}) | ||
Line 157: | Line 184: | ||
setmetatable(settings, {__index = self.__settings}) | setmetatable(settings, {__index = self.__settings}) | ||
sprite.__settings = settings | sprite.__settings = settings | ||
return sprite:setItem(item) | return sprite:setItem(item, type) | ||
end | end | ||
Line 172: | Line 199: | ||
function Sprite:SetSize(size) | function Sprite:SetSize(size) | ||
self.__settings.scale = size / self.__settings.size | self.__settings.scale = size / self.__settings.size | ||
return self | |||
end | |||
function Sprite:SetTitle(name) | |||
self.__settings.title = name | |||
return self | |||
end | |||
function Sprite:SetLore(text) | |||
self.__settings.lore = text | |||
return self | |||
end | |||
function Sprite:HideTooltip() | |||
self.__settings.hideTooltip = true | |||
return self | return self | ||
end | end | ||
Line 215: | Line 257: | ||
sprite:addClass("sprite") | sprite:addClass("sprite") | ||
sprite:addClass("masterTooltip") | |||
if self.__settings.hideTooltip ~= true then | |||
sprite:addClass("masterTooltip") | |||
end | |||
local source = self.__source | local source = self.__source | ||
sprite:addClass(source.settings.classname) | sprite:addClass(source.settings.classname) | ||
sprite:attr( "title", self.__settings.name ) | |||
if self.__settings.hideTooltip ~= true then | |||
sprite:attr( "title", self.__settings.name ) | |||
end | |||
sprite:attr( "data-title", self.__settings.title ) | sprite:attr( "data-title", self.__settings.title ) |
edits