Finished first step of refactor.

This commit is contained in:
juliandescottes
2012-09-05 00:09:42 +02:00
parent a567992a1d
commit 1de9ee41b2
6 changed files with 200 additions and 139 deletions

View File

@ -1,5 +1,6 @@
(function () {
var ns = $.namespace("pskl.model");
ns.Frame = function (pixels) {
this.pixels = pixels;
};
@ -30,6 +31,10 @@
return clone;
};
ns.Frame.prototype.serialize = function () {
return JSON.stringify(this.pixels);
};
ns.Frame.prototype.setPixel = function (col, row, color) {
this.pixels[col][row] = color;
};

View File

@ -38,7 +38,11 @@
// Could be used to pass around model using long GET param (good enough for simple models) and
// do some temporary locastorage
ns.FrameSheet.prototype.serialize = function() {
throw "FrameSheet.prototype.serialize not implemented"
var serializedFrames = [];
for (var i = 0 ; i < this.frames.length ; i++) {
serializedFrames.push(this.frames[i].serialize());
}
return '[' + serializedFrames.join(",") + ']';
//return JSON.stringify(frames);
};
@ -48,13 +52,17 @@
* @param {String} serialized
*/
ns.FrameSheet.prototype.deserialize = function (serialized) {
throw "FrameSheet.prototype.deserialize not implemented"
// try {
// frames = JSON.parse(serialized);
// $.publish(Events.FRAMESHEET_RESET);
// } catch (e) {
// throw "Could not load serialized framesheet." + e.message
// }
try {
var frameConfigurations = JSON.parse(serialized);
this.frames = [];
for (var i = 0 ; i < frameConfigurations.length ; i++) {
var frameCfg = frameConfigurations[i];
this.addFrame(new ns.Frame(frameCfg));
}
$.publish(Events.FRAMESHEET_RESET);
} catch (e) {
throw "Could not load serialized framesheet : " + e.message
}
};
ns.FrameSheet.prototype.getFrameByIndex = function(index) {