Resource.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. var SavableData = require("./SavableData");
  2. var global = require("./global")
  3. var E = require("./Errors");
  4. var utils = require('./utils');
  5. var fs = require("fs");
  6. module.exports = class Resource extends SavableData {
  7. constructor()
  8. {
  9. super();
  10. this.name = "";
  11. this.model = null;
  12. this.position = [0, 0, 0];
  13. this.rotation = [0, 0, 0];
  14. this.scale = [1, 1, 1];
  15. this.comment = "";
  16. this.type = Resource.TYPE_IMAGE();
  17. this.title = "";
  18. //this.location = { path: null, ext: null};
  19. this.location = null;
  20. }
  21. static TYPE_AUDIO() { return "audio"; }
  22. static TYPE_VIDEO() { return "video"; }
  23. static TYPE_3D() { return "3d"; }
  24. static TYPE_IMAGE() { return "aimage"; }
  25. exportToString()
  26. {
  27. var exclude = [""]
  28. var obj = {};
  29. Object.assign(obj, this);
  30. }
  31. load(user, project, name)
  32. {
  33. this.name=name;
  34. this.basePath = global.pathToResourceDir(user, name);
  35. this.path = global.pathToResourceFile(user, project, name);
  36. try {
  37. var obj = JSON.parse(fs.readFileSync(this.path));
  38. if(obj!=null) Object.assign(this, obj);
  39. } catch (e) {
  40. console.log(e);
  41. return E.ENOENT;
  42. }
  43. return this;
  44. }
  45. }