local window = require('window') local entity = require('entity') -- prototype of room -- - background -- - objects -- - edges local room = entity:from{ x = 0, y = 0, background = love.graphics.newImage("res/defaultbg.png"), edges = {}, objects = {}, } function room:insert(obj) table.insert(self.objects, obj) obj.idx = #self.objects end function room:remove(obj) table.remove(self.objects, obj.idx) for i, v in ipairs(self.objects) do v.idx = i end end room.mousepressed = window.propagate{'edges', 'objects'} function room:draw() love.graphics.draw(self.background, 0, 0) for i, v in ipairs(self.objects) do v:draw() end for i, v in ipairs(self.edges) do v:draw() end end return room