summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/engine')
-rw-r--r--public/assets/javascripts/rectangles/engine/shapes/polyline.js12
-rw-r--r--public/assets/javascripts/rectangles/engine/shapes/shapelist.js7
2 files changed, 10 insertions, 9 deletions
diff --git a/public/assets/javascripts/rectangles/engine/shapes/polyline.js b/public/assets/javascripts/rectangles/engine/shapes/polyline.js
index e853592..3c4e9c3 100644
--- a/public/assets/javascripts/rectangles/engine/shapes/polyline.js
+++ b/public/assets/javascripts/rectangles/engine/shapes/polyline.js
@@ -1,12 +1,9 @@
var Polyline = Fiber.extend(function(base){
var exports = {}
- exports.init = function(points){
- this.points = points
+ exports.init = function(){
+ this.points = []
this.mx_points = []
this.closed = false
- if (points) {
- this.build()
- }
}
exports.add = function(p){
this.points.push( p )
@@ -138,7 +135,10 @@ var Polyline = Fiber.extend(function(base){
this.mx.rebuild()
}
exports.serialize = function(){
- return this.points
+ return this.points.map(function(point){ return [point.a, point.b] })
+ }
+ exports.deserialize = function(points){
+ this.points = points.map(function(point){ return new vec2(point[0], point[1]) })
}
exports.reset = function(){
this.mx_points.forEach(function(mx){ scene.remove(mx) })
diff --git a/public/assets/javascripts/rectangles/engine/shapes/shapelist.js b/public/assets/javascripts/rectangles/engine/shapes/shapelist.js
index d8a03b2..1b8acfd 100644
--- a/public/assets/javascripts/rectangles/engine/shapes/shapelist.js
+++ b/public/assets/javascripts/rectangles/engine/shapes/shapelist.js
@@ -73,9 +73,10 @@ var ShapeList = Fiber.extend(function(base){
})
}
exports.deserialize = function(data){
- data.forEach(function(points){
- var line = new Polyline(points)
- this.add(line)
+ data && data.forEach(function(points){
+ var line = new Polyline()
+ line.deserialize(points)
+ line.build()
}.bind(this))
}
return exports