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; | ||||
} | } |