var SavableData = require("./SavableData"); var global = require("./global") var E = require("./Errors"); var utils = require('./utils'); var fs = require("fs"); module.exports = class Resource extends SavableData { constructor() { super(); this.name = ""; this.model = null; this.position = [0, 0, 0]; this.rotation = [0, 0, 0]; this.scale = [1, 1, 1]; this.comment = ""; this.type = Resource.TYPE_IMAGE(); this.title = ""; //this.location = { path: null, ext: null}; this.location = null; } static TYPE_AUDIO() { return "audio"; } static TYPE_VIDEO() { return "video"; } static TYPE_3D() { return "3d"; } static TYPE_IMAGE() { return "aimage"; } exportToString() { var exclude = [""] var obj = {}; Object.assign(obj, this); } load(user, project, name) { this.name=name; this.basePath = global.pathToResourceDir(user, name); this.path = global.pathToResourceFile(user, project, name); try { var obj = JSON.parse(fs.readFileSync(this.path)); if(obj!=null) Object.assign(this, obj); } catch (e) { console.log(e); return E.ENOENT; } return this; } }