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.

30 lines
1.0 KiB

local String = {}
-- Lua API
local string_format = string.format
function String:Colorize(floatColorRGB)
-- Literal copy/paste from the legacy codebase; streamline later (as needed)
local function colorize(s, color)
if color and s then
return string_format(
"|cff%02x%02x%02x%s|r",
(color.r or 1) * 255,
(color.g or 1) * 255,
(color.b or 1) * 255,
s
)
else
return s
end
end
-- The legacy code exclusively uses this call pattern: colorize(string, color)
-- This means we can use self as the Lua string instead of the String table and it will still work (even if it's hacky)
-- BUT! Beware, if more methods are added to the String table we can't access them via self.OtherFunction in here
-- When this happens, it will be time to refactor all the calls to colorize... (Fun times, because they're everywhere)
-- Some day this should definitely be done... but today is not that day :D
return colorize(self, floatColorRGB)
end
Rarity.Utils.String = String