| return Object.keys(Banks).length; | return Object.keys(Banks).length; | ||||
| } | } | ||||
| get json(){ | |||||
| get obj(){ | |||||
| var data = []; | var data = []; | ||||
| Object.keys(Banks).forEach((key) => { | Object.keys(Banks).forEach((key) => { | ||||
| if (Banks.hasOwnProperty(key)){ | if (Banks.hasOwnProperty(key)){ | ||||
| data.push({name:key, data:Banks[key].bank.base64}); | data.push({name:key, data:Banks[key].bank.base64}); | ||||
| } | } | ||||
| }); | }); | ||||
| return JSON.stringify(data); | |||||
| return data; | |||||
| } | |||||
| set obj(d){ | |||||
| if (!(d instanceof Array)) | |||||
| throw new TypeError("Expected Array object."); | |||||
| this.clear(); | |||||
| d.forEach((item) => { | |||||
| if (typeof(item) === typeof({})){ | |||||
| if ((name in item) && (data in item)){ | |||||
| this.createBank(item.name, item.data); | |||||
| } else { | |||||
| console.log("WARNING: Bank object missing required properties. Skipped."); | |||||
| } | |||||
| } | |||||
| }); | |||||
| } | |||||
| get json(){ | |||||
| return JSON.stringify(this.obj); | |||||
| } | } | ||||
| initialize(){ | initialize(){ |
| }).bind(this)); | }).bind(this)); | ||||
| } | } | ||||
| get json(){ | |||||
| get obj(){ | |||||
| var d = { | var d = { | ||||
| cpi: CurrentPaletteIndex, | cpi: CurrentPaletteIndex, | ||||
| pals: [] | pals: [] | ||||
| }; | }; | ||||
| for (let i=0; i < Palettes.length; i++){ | for (let i=0; i < Palettes.length; i++){ | ||||
| d.pals.push([Palettes[i][0], Palettes[i][1].json]); | |||||
| d.pals.push([Palettes[i][0].value, Palettes[i][1].json]); | |||||
| } | } | ||||
| return JSON.stringify(d); | |||||
| return d; | |||||
| } | } | ||||
| set json(j){ | |||||
| try { | |||||
| var d = JSON.parse(j); | |||||
| } catch (e) { | |||||
| throw e; | |||||
| } | |||||
| set obj(d){ | |||||
| if (d.hasOwnProperty("cpi") && d.hasOwnProperty("pals")){ | if (d.hasOwnProperty("cpi") && d.hasOwnProperty("pals")){ | ||||
| if (Utils.isInt(d.cpi) && d.pals instanceof Array){ | if (Utils.isInt(d.cpi) && d.pals instanceof Array){ | ||||
| var newPalettes = [] | var newPalettes = [] | ||||
| GlobalEvents.emit("set_app_palette", Palettes[CurrentPaletteIndex][1]); | GlobalEvents.emit("set_app_palette", Palettes[CurrentPaletteIndex][1]); | ||||
| } | } | ||||
| } else { | } else { | ||||
| throw new TypeError("JSON Property Value types invalid."); | |||||
| throw new TypeError("Object Property Value types invalid."); | |||||
| } | } | ||||
| } else { | } else { | ||||
| throw new TypeError("JSON missing expected properties."); | |||||
| throw new TypeError("Object missing expected properties."); | |||||
| } | |||||
| } | |||||
| get json(){ | |||||
| return JSON.stringify(this.obj); | |||||
| } | |||||
| set json(j){ | |||||
| try { | |||||
| this.obj = JSON.parse(j); | |||||
| } catch (e) { | |||||
| throw e; | |||||
| } | } | ||||
| } | } | ||||
| ]; | ]; | ||||
| } | } | ||||
| get json(){ | |||||
| return JSON.stringify(([this.__BGColor]).concat(this.__palette)); | |||||
| get obj(){ | |||||
| return ([this.__BGColor]).concat(this.__palette); | |||||
| } | } | ||||
| set json(j){ | |||||
| try{ | |||||
| var d = JSON.parse(j); | |||||
| set obj(d){ | |||||
| if (!(d instanceof Array) || d.length !== 25) | |||||
| throw new TypeError("Invalid Object or value range."); | |||||
| try { | |||||
| this.set_palette(d); | |||||
| } catch (e) { | } catch (e) { | ||||
| throw e; | throw e; | ||||
| } | } | ||||
| } | |||||
| if (!(d instanceof Array) || d.length !== 25) | |||||
| throw new TypeError("Invalid JSON or value range."); | |||||
| try { | |||||
| this.set_palette(d); | |||||
| get json(){ | |||||
| return JSON.stringify(this.obj); | |||||
| } | |||||
| set json(j){ | |||||
| try{ | |||||
| this.obj = JSON.parse(j); | |||||
| } catch (e) { | } catch (e) { | ||||
| throw e; | throw e; | ||||
| } | } |