(function(){ var vec2, Rect, Room, sort, UidGenerator, _ if ('window' in this) { vec2 = window.vec2 Rect = window.Rect Room = window.Room sort = window.sort UidGenerator = window.UidGenerator _ = window._ } else { vec2 = require('../../models/vec2') Rect = require('../../models/rect') Room = require('../../models/room') UidGenerator = require('../../util/uid') sort = require('../../util/sort') _ = require('lodash') FRONT = 0x1, BACK = 0x2, LEFT = 0x4, RIGHT = 0x8, FLOOR = 0x10, CEILING = 0x20 TOP = CEILING, BOTTOM = FLOOR function sidesToString(sides){ var s = "" if (sides & FRONT) s += "front " if (sides & BACK) s += "back " if (sides & LEFT) s += "left " if (sides & RIGHT) s += "right " if (sides & TOP) s += "top " if (sides & BOTTOM) s += "bottom " return s } } var Walls = new function(){ var base = this base.list = [] base.lookup = {} base.colors = {} base.first = function(){ for (var i in base.list) { if (base.list.hasOwnProperty(i)) { return base.list[i] } } } base.assign = function(list){ base.list = list base.lookup = {} list.forEach(function(wall){ base.lookup[wall.id] = wall }) } base.bind = function(){ base.list.forEach(function(wall){ wall.bind() }) } base.count = function(){ return this.list.length } base.forEach = function(f){ return base.list.forEach(f) } base.map = function(f){ return base.list.map(f) } base.serialize = function(){ return [] } base.deserialize = function(walls_data){ return [] } } if ('window' in this) { window.Walls = Walls } else { module.exports = Walls } })()