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