diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-10-10 21:07:55 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-10-10 21:07:55 -0400 |
| commit | 6177755e842ca3028833bc98ba0e97e6874b27fb (patch) | |
| tree | 7bbe15aa18c497e256f3bbc6e89316221659137a /public/assets/javascripts/rectangles/engine/rooms/_rooms.js | |
| parent | b35bda803440233b68389603bbaced53f8bb18ba (diff) | |
| parent | bc63a639bbd224adfc8012b100c1b277e2774afb (diff) | |
merge
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/rooms/_rooms.js')
| -rw-r--r-- | public/assets/javascripts/rectangles/engine/rooms/_rooms.js | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js index 3603f0c..b901a25 100644 --- a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js +++ b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js @@ -59,18 +59,19 @@ height: 500 }) base.add(room) + Rooms.rebuild() return room } base.remove = function(room){ delete base.list[room.id] - Rooms.clipper.update() + Rooms.rebuild() } base.removeAll = function(){ base.list = {} base.regions = [] - Rooms.clipper.update() + Rooms.rebuild() } base.count = function(){ @@ -88,6 +89,16 @@ base.values = function(){ return _.values(base.list) } + + base.rebuild = function(walls_data){ + walls_data = walls_data || Walls.serialize() + Rooms.clipper.update() + Rooms.builder.rebuild() + Rooms.grouper.build() + Walls.paint() + Walls.deserialize(walls_data) + app.tube("rooms-built") + } base.serialize = function(){ var rooms = base.map(function(room){ @@ -96,7 +107,7 @@ return rooms } - base.deserialize = function(rooms_data){ + base.deserialize = function(rooms_data, walls_data){ rooms_data.forEach(function(data){ if (! data || ! data.rect) return var rect = new Rect(data.rect.x[0], data.rect.y[0], data.rect.x[1], data.rect.y[1]) @@ -107,7 +118,7 @@ }) base.add(room) }) - Rooms.clipper.update() + Rooms.rebuild(walls_data) } base.report = function(){ |
