A LÖVE resource manager
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
sandwich.lua

README.md

sandwich.lua

sandwich is a resource manager made with LÖVE. It prevents you from loading the same resource multiple times during your program execution. It supports the "basic" LÖVE resource types (such as images, quads, fonts, audio streams), and you can add your own types easily.

Quickstart

local sandwich = require 'sandwich'

my_image = sandwich.get('image', 'my_image.png')
my_quad = sandwich.get('quad', 'my_quad', 0,0, 32,32, 64,64)

Add resource types

You can add you own resource types. Here's an example with bump.lua worlds:

local bump = require 'lib.bump'
local sandwich = require 'lib.sandwich'

-- function that makes a resource
local callback_bumpworld = function (resource_name, ...)
	return bump.newWorld(...)
end
sandwich.addType('bumpworld', callback_bumpworld)

my_world = sandwich.get('bumpworld', 'my_world', 32) -- creating a world