Project1

标题: json数据库拓展插件 [打印本页]

作者: lohengriny    时间: 2018-4-6 11:30
标题: json数据库拓展插件
主要用来给rmmv自身的数据库扩充字段,用法为在数据文件夹里新建名为“原文件+Ex”的json文件,然后在里面写json就行,读取时会把 Ex 里的 property读取到对应id的原文件,相同键名会覆盖。
JAVASCRIPT 代码复制
  1. //=================================================================================
  2. // System Data Extend
  3. // Developed by Lohengrin
  4. // [url]https://github.com/Lo-Aidas[/url]
  5. //=================================================================================
  6. var ExData = ExData || {};
  7.  
  8. //Ex data load ===================================================================
  9. var $dataClassesEx = null;
  10. var $dataWeaponsEx = null;
  11. var $dataArmorsEx = null;
  12. var $dataStatesEx = null;
  13. var $dataItemsEx = null;
  14. var $dataEnemiesEx = null;
  15. var $dataSkillsEx = null;
  16. var $dataAbilities = null;
  17.  
  18. ExData.Files = [
  19.         {name: '$dataClassesEx', src: 'ClassesEx.json'},
  20.         {name: '$dataWeaponsEx', src: 'WeaponsEx.json'},
  21.         {name: '$dataArmorsEx', src: 'ArmorsEx.json'},
  22.         {name: '$dataStatesEx', src: 'StatesEx.json'},
  23.         {name: '$dataItemsEx', src: 'ItemsEx.json'},
  24.         {name: '$dataEnemiesEx', src: 'EnemiesEx.json'},
  25.         {name: '$dataSkillsEx', src: 'SkillsEx.json' },
  26.         {name: '$dataActorsEx', src: 'ActorsEx.json'},
  27.         {name: '$dataAbilities', src: 'Abilities.json'}
  28. ];
  29. DataManager._databaseFiles = DataManager._databaseFiles.concat(ExData.Files);
  30.  
  31. DataManager.loadDatabase = function() {
  32.         var test = this.isBattleTest() || this.isEventTest();
  33.         var prefix = test ? 'Test_' : '';
  34.         for (var i = 0; i < this._databaseFiles.length; i++) {
  35.                 var name = this._databaseFiles[i].name;
  36.                 var src = this._databaseFiles[i].src;
  37.                 this.loadDataFile(name, prefix + src);
  38.         }
  39.         if (this.isEventTest()) {
  40.                 this.loadDataFile('$testEvent', prefix + 'Event.json');
  41.         }
  42. };
  43.  
  44. DataManager.isDatabaseLoaded = function() {
  45.         this.checkError();
  46.         for (var i = 0; i < this._databaseFiles.length; i++) {
  47.                 if (!window[this._databaseFiles[i].name]) {
  48.                         return false;
  49.                 }
  50.         }
  51.  
  52.         // combine extra data
  53.         var  name;
  54.         for (var i = 0; i < this._databaseFiles.length; i++) {
  55.                 name = this._databaseFiles[i].name;
  56.                 if (window[name+"Ex"]) {
  57.                         for (var j = 0; j < window[name].length; j++) {
  58.                                 if(window[name][j]&&window[name+"Ex"][j]) {
  59.                                         for (var key in window[name+"Ex"][j]) {
  60.                                                 window[name][j][key] = window[name+"Ex"][j][key];
  61.                                         }
  62.                                 }
  63.                         }
  64.                 }
  65.         }
  66.  
  67.         return true;
  68. };

作者: xxyy116497    时间: 2018-5-2 23:03
大佬这个时扩展数据库设置最大值吗




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1