summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/scenery/undo.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-08-13 16:12:02 -0400
committerJules Laplace <jules@okfoc.us>2014-08-13 16:21:26 -0400
commit90cb5b343f3d56372f9b43faf215ed80dd879fe1 (patch)
treedfac1c586b713a70c9bd5ffce01f93a46a256e75 /public/assets/javascripts/rectangles/engine/scenery/undo.js
parent14228e82f4836b1bffa3389aa9e8d12959aa3810 (diff)
undo for scenery stuff
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/scenery/undo.js')
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/undo.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/public/assets/javascripts/rectangles/engine/scenery/undo.js b/public/assets/javascripts/rectangles/engine/scenery/undo.js
index 4bdb2c4..7798550 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/undo.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/undo.js
@@ -3,22 +3,42 @@
{
type: "create-scenery",
undo: function(state){
+ Scenery.remove(state.id)
},
redo: function(state){
+ Scenery.deserialize([ state ])
},
},
{
type: "update-scenery",
undo: function(state){
+ var scenery = Scenery.find(state.id)
+ scenery.deserialize(state)
+ scenery.set_wall(Rooms.walls[ state.wall_id ])
+
+ if (editor.permissions.resize) {
+ Scenery.resize.show(scenery)
+ }
},
redo: function(state){
+ var scenery = Scenery.find(state.id)
+ scenery.deserialize(state)
+ scenery.set_wall(Rooms.walls[ state.wall_id ])
+
+ if (editor.permissions.resize) {
+ Scenery.resize.show(scenery)
+ Scenery.resize.rotate_dots()
+ Scenery.resize.move_dots()
+ }
},
},
{
type: "destroy-scenery",
undo: function(state){
+ Scenery.deserialize([ state ])
},
redo: function(state){
+ Scenery.remove(state.id)
},
},