Module:Sprite: Difference between revisions

Jump to navigation Jump to search
It would help if EffectSprite aliases were accessed
m (Gotta love butchering code)
(It would help if EffectSprite aliases were accessed)
(22 intermediate revisions by 2 users not shown)
Line 5: Line 5:
local aliasData = {
local aliasData = {
vanillaAliases = [[Module:InventorySlot/Aliases]],
vanillaAliases = [[Module:InventorySlot/Aliases]],
gm4Aliases = [[Module:Gm4Sprite/Aliases]]
gm4Aliases = [[Module:Gm4Sprite/Aliases]],
effectAliases = [[Module:EffectSprite/Aliases]]
}
}


Sprite.aliasData = aliasData
Sprite.aliasData = aliasData
local vanillaAliases = mw.loadData( aliasData.vanillaAliases )
local vanillaAliases = mw.loadData( aliasData.vanillaAliases )
local gm4Aliases = mw.loadData( aliasData.vanillaAliases )
local gm4Aliases = mw.loadData( aliasData.gm4Aliases )
local aliases = vanillaAliases
local effectAliases = mw.loadData( aliasData.effectAliases )
local aliases


local types = {
local types = {
Line 66: Line 68:
if not(source) then
if not(source) then
error("Unknown type: " .. tostring(type))
error("Unknown type: " .. tostring(type))
end
if tostring(type) == "gm4" then
aliases = gm4Aliases
end
end


o = {
o = {
__source = require(source),
__source = require(source),
type = type,
}
}
setmetatable(o, {__index = self})
setmetatable(o, {__index = self})
Line 106: Line 103:
name = name,
name = name,
title = title,
title = title,
lore = lore,
lore = lore
type = type
}
}
}
}
Line 130: 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


-- js-modified color title with lore
-- js-modified color title with lore
if self.__settings.type == "gm4" then
aliases = gm4Aliases
end
     if aliases[item] then
     if aliases[item] then
if aliases[item].text then
if aliases[item].text then
self.__settings.lore = aliases[item].text
self.__settings.lore = aliases[item].text
end
end


Line 152: 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


if self.__source.ids[item] then
self:setPosition(self.__source.ids[item].pos)
else
self:setPosition(nil) --will use default
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 171: 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 186: 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 229: 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 )
Bureaucrats, Check users, emailconfirmed, Interface administrators, staff, Administrators, translation-admin, Widget editors
1,633

edits

Navigation menu