From 850c4202885867350ecccc88a4f315d6196a7326 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 20 Jun 2014 16:57:36 -0400 Subject: delete/resize media --- .../rectangles/engine/scenery/_scenery.js | 27 ++++++++++++++++------ 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'public/assets/javascripts/rectangles/engine/scenery/_scenery.js') diff --git a/public/assets/javascripts/rectangles/engine/scenery/_scenery.js b/public/assets/javascripts/rectangles/engine/scenery/_scenery.js index 3fe6b66..143a4d9 100644 --- a/public/assets/javascripts/rectangles/engine/scenery/_scenery.js +++ b/public/assets/javascripts/rectangles/engine/scenery/_scenery.js @@ -3,7 +3,7 @@ var Scenery = new function(){ var base = this; - base.media = [] + base.list = {} base.nextMedia = null base.mouse = new mouse ({ use_offset: false }) @@ -25,7 +25,7 @@ var Scenery = new function(){ break } - base.media.push(scene_media) + base.list[scene_media.id] = scene_media return scene_media } @@ -35,14 +35,27 @@ var Scenery = new function(){ } base.remove = function(id){ - var removed = _.remove(base.media, function(media){ return media.id == id }) - removed.forEach(function(media){ - // cleanup - }) + var media = base.list[id] + delete base.list[id] + media && media.destroy() + } + + base.uid = UidGenerator(base.list) + + base.forEach = function(f){ + return base.values().forEach(f) + } + + base.map = function(f){ + return base.values().map(f) + } + + base.values = function(){ + return _.values(base.list) } base.serialize = function(){ - var scenery = base.media.map(function(media){ + var scenery = base.map(function(media){ return media.serialize() }) return scenery -- cgit v1.2.3-70-g09d2