diff --git a/cf-lib/data/Entity.lua b/cf-lib/data/Entity.lua index 4a21072..10172ad 100644 --- a/cf-lib/data/Entity.lua +++ b/cf-lib/data/Entity.lua @@ -26,4 +26,21 @@ Entity.collisionBox = function(width, height, margin) } end +--- Sets the file name on a picture considering various formats. +--- If sheets or layers are found, use the optional param to select the right one. +--- @param sprite table The sprite to replace the filename in +--- @param filename string The new filename +--- @param sheetLayer number The sheet or layer index to use. Defaults to 1. +Entity.setFilename = function(sprite, filename, sheetLayer) + if sprite.filename then + sprite.filename = filename + elseif sprite.sheet then + sprite.sheet.filename = filename + elseif sprite.sheets then + sprite.sheets[sheetLayer or 1].filename = filename + elseif sprite.layers then + sprite.layers[sheetLayer or 1].filename = filename + end +end + return Entity \ No newline at end of file