config-util.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. let fs = require('fire-fs');
  2. let path = require('fire-path');
  3. const package_name = 'ui-creator';
  4. module.exports = {
  5. config_data: {},
  6. my_data: {
  7. nodeOutputPath: 'assets/script/data/autoui',
  8. uiOutputPath: 'assets/script/logic/ui',
  9. },
  10. initCfg(cb) {
  11. let cfgPath = this._getPath();
  12. if (fs.existsSync(cfgPath)) {
  13. fs.readFile(cfgPath, 'utf-8', (err, data) => {
  14. if (!err) {
  15. this.config_data = JSON.parse(data.toString());
  16. if (!this.config_data[package_name]) {
  17. this.config_data[package_name] = this.my_data;
  18. this._save();
  19. } else {
  20. this.my_data = this.config_data[package_name];
  21. }
  22. cb && cb(this.my_data);
  23. }
  24. });
  25. } else {
  26. cb && cb(this.my_data);
  27. }
  28. },
  29. saveCfg(data) {
  30. this.my_data.nodeOutputPath = data.nodeOutputPath;
  31. this.my_data.uiOutputPath = data.uiOutputPath;
  32. this.config_data[package_name] = this.my_data;
  33. this._save();
  34. },
  35. _save() {
  36. let cfgPath = this._getPath();
  37. fs.writeFileSync(cfgPath, JSON.stringify(this.config_data));
  38. },
  39. _getPath() {
  40. let cfgFileName = 'package-configuration.json';
  41. let cfgPath = path.join(Editor.Project.path, 'settings', cfgFileName);
  42. return cfgPath;
  43. }
  44. }