local util = require('util') local window = require('window') local entity = require('entity') -- prototype of room -- - background -- - objects -- - edges local room = entity:from{ background = love.graphics.newImage("res/defaultbg.png"), } local from = room.from function room:from(t) local r = from(self, t) r.edges = {} r.objects = {} return r end function room:insert(obj) util.add_entity(self.objects, obj) end function room:remove(obj) util.del_entity(self.objects, obj) 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 function room.calc_align(width, height) local sx = (320 - width)/2 local sy = (240 - height)/2 return sx, sy end return room