config.json

This commit is contained in:
tocque 2020-01-22 09:36:16 +08:00
parent 4e648a0537
commit 918140f67c
10 changed files with 72 additions and 29 deletions

1
_server/config.json Normal file
View File

@ -0,0 +1 @@
{"lastUsed":[],"foldPerCol":50,"folded":false}

View File

@ -151,17 +151,20 @@ editor.prototype.init = function (callback) {
editor.airwallImg.src = './project/images/airwall.png'; editor.airwallImg.src = './project/images/airwall.png';
main.init('editor', function () { main.init('editor', function () {
editor_util_wrapper(editor); editor.config = new editor_config();
editor_game_wrapper(editor, main, core); editor.config.load(function() {
editor_file_wrapper(editor); editor_util_wrapper(editor);
editor_table_wrapper(editor); editor_game_wrapper(editor, main, core);
editor_ui_wrapper(editor); editor_file_wrapper(editor);
editor_mappanel_wrapper(editor); editor_table_wrapper(editor);
editor_datapanel_wrapper(editor); editor_ui_wrapper(editor);
editor_materialpanel_wrapper(editor); editor_mappanel_wrapper(editor);
editor_listen_wrapper(editor); editor_datapanel_wrapper(editor);
editor.printe=printe; editor_materialpanel_wrapper(editor);
afterMainInit(); editor_listen_wrapper(editor);
editor.printe=printe;
afterMainInit();
})
}); });
var afterMainInit = function () { var afterMainInit = function () {
@ -174,7 +177,7 @@ editor.prototype.init = function (callback) {
editor_mode = editor_mode(editor); editor_mode = editor_mode(editor);
editor.mode = editor_mode; editor.mode = editor_mode;
core.resetGame(core.firstData.hero, null, core.firstData.floorId, core.clone(core.initStatus.maps)); core.resetGame(core.firstData.hero, null, core.firstData.floorId, core.clone(core.initStatus.maps));
var lastFloorId = core.getLocalStorage('editorLastFloorId', core.status.floorId); var lastFloorId = editor.config.get('editorLastFloorId', core.status.floorId);
if (core.floorIds.indexOf(lastFloorId) < 0) lastFloorId = core.status.floorId; if (core.floorIds.indexOf(lastFloorId) < 0) lastFloorId = core.status.floorId;
core.changeFloor(lastFloorId, null, core.firstData.hero.loc, null, function () { core.changeFloor(lastFloorId, null, core.firstData.hero.loc, null, function () {
afterCoreReset(); afterCoreReset();
@ -274,8 +277,9 @@ editor.prototype.changeFloor = function (floorId, callback) {
var loc = editor.viewportLoc[floorId] || [], x = loc[0] || 0, y = loc[1] || 0; var loc = editor.viewportLoc[floorId] || [], x = loc[0] || 0, y = loc[1] || 0;
editor.setViewport(x, y); editor.setViewport(x, y);
core.setLocalStorage('editorLastFloorId', floorId); editor.config.set('editorLastFloorId', floorId, function() {
if (callback) callback(); if (callback) callback();
});
}); });
} }
@ -448,11 +452,11 @@ editor.prototype.drawInitData = function (icons) {
var maxHeight = 700; var maxHeight = 700;
var sumWidth = 0; var sumWidth = 0;
editor.widthsX = {}; editor.widthsX = {};
editor.uivalues.folded = core.getLocalStorage('folded', false); editor.uivalues.folded = editor.config.get('folded', false);
// editor.uivalues.folded = true; // editor.uivalues.folded = true;
editor.uivalues.foldPerCol = core.getLocalStorage('foldPerCol', 50); editor.uivalues.foldPerCol = editor.config.get('foldPerCol', 50);
// var imgNames = Object.keys(images); //还是固定顺序吧; // var imgNames = Object.keys(images); //还是固定顺序吧;
editor.uivalues.lastUsed = core.getLocalStorage("lastUsed", []); editor.uivalues.lastUsed = editor.config.get("lastUsed", []);
var imgNames = ["terrains", "animates", "enemys", "enemy48", "items", "npcs", "npc48", "autotile"]; var imgNames = ["terrains", "animates", "enemys", "enemy48", "items", "npcs", "npc48", "autotile"];
for (var ii = 0; ii < imgNames.length; ii++) { for (var ii = 0; ii < imgNames.length; ii++) {

View File

@ -492,13 +492,13 @@ function omitedcheckUpdateFunction(event) {
`; `;
/////////////////initscript end ///////////////////////////// /////////////////initscript end /////////////////////////////
editor.uivalues.disableBlocklyReplace = core.getLocalStorage("disableBlocklyReplace", false); editor.uivalues.disableBlocklyReplace = editor.config.get("disableBlocklyReplace", false);
var replaceCheckbox = document.getElementById('blocklyReplace'); var replaceCheckbox = document.getElementById('blocklyReplace');
replaceCheckbox.checked = !editor.uivalues.disableBlocklyReplace; replaceCheckbox.checked = !editor.uivalues.disableBlocklyReplace;
editor_blockly.triggerReplace = function () { editor_blockly.triggerReplace = function () {
editor.uivalues.disableBlocklyReplace = !replaceCheckbox.checked; editor.uivalues.disableBlocklyReplace = !replaceCheckbox.checked;
core.setLocalStorage("disableBlocklyReplace", !replaceCheckbox.checked); editor.config.set("disableBlocklyReplace", !replaceCheckbox.checked);
if (MotaActionFunctions) MotaActionFunctions.disableReplace = !replaceCheckbox.checked; if (MotaActionFunctions) MotaActionFunctions.disableReplace = !replaceCheckbox.checked;
alert("已" + (replaceCheckbox.checked ? "开启" : "关闭") + "中文变量名替换!\n关闭并重开事件编辑器以生效。"); alert("已" + (replaceCheckbox.checked ? "开启" : "关闭") + "中文变量名替换!\n关闭并重开事件编辑器以生效。");
} }

34
_server/editor_config.js Normal file
View File

@ -0,0 +1,34 @@
function editor_config() {
this.address = "_server/config.json";
}
editor_config.prototype.load = function(callback) {
var _this = this;
fs.readFile(this.address, "utf-8", function(e, d) {
if (e) {
console.warn("无法读取配置文件, 已重新生成");
_this.config = {};
_this.save(callback);
} else {
_this.config = JSON.parse(d);
if (callback) callback();
}
});
}
editor_config.prototype.get = function(key, defaultValue) {
value = this.config[key];
return value != null ? value : defaultValue;
}
editor_config.prototype.set = function(key, value, callback) {
this.config[key] = value;
if (callback !== false) this.save(callback);
}
editor_config.prototype.save = function(callback) {
fs.writeFile(this.address, JSON.stringify(this.config) ,'utf-8', function(e) {
if (e) alert("写入配置文件失败");
if (callback instanceof Function) callback();
})
}

View File

@ -15,7 +15,7 @@ editor_listen_wrapper = function (editor) {
editor.dom.mid.onmousewheel = editor.uifunctions.map_mousewheel editor.dom.mid.onmousewheel = editor.uifunctions.map_mousewheel
editor.uivalues.shortcut = core.getLocalStorage('shortcut', { 48: 0, 49: 0, 50: 0, 51: 0, 52: 0, 53: 0, 54: 0, 55: 0, 56: 0, 57: 0 }); editor.uivalues.shortcut = editor.config.get('shortcut', { 48: 0, 49: 0, 50: 0, 51: 0, 52: 0, 53: 0, 54: 0, 55: 0, 56: 0, 57: 0 });
editor.dom.body.onkeydown = editor.uifunctions.body_shortcut editor.dom.body.onkeydown = editor.uifunctions.body_shortcut
editor.uivalues.scrollBarHeight = editor.uifunctions.getScrollBarHeight(); editor.uivalues.scrollBarHeight = editor.uifunctions.getScrollBarHeight();

View File

@ -253,7 +253,7 @@ editor_mappanel_wrapper = function (editor) {
// console.log(editor.map); // console.log(editor.map);
if (editor.info.y != null) { if (editor.info.y != null) {
editor.uivalues.lastUsed = [editor.info].concat(editor.uivalues.lastUsed.filter(function (e) { return e.id != editor.info.id})); editor.uivalues.lastUsed = [editor.info].concat(editor.uivalues.lastUsed.filter(function (e) { return e.id != editor.info.id}));
core.setLocalStorage("lastUsed", editor.uivalues.lastUsed); editor.config.set("lastUsed", editor.uivalues.lastUsed);
} }
editor.updateMap(); editor.updateMap();
editor.uivalues.holdingPath = 0; editor.uivalues.holdingPath = 0;
@ -601,9 +601,9 @@ editor_mappanel_wrapper = function (editor) {
* 切换画笔模式 * 切换画笔模式
*/ */
editor.uifunctions.brushMod3_onchange = function () { editor.uifunctions.brushMod3_onchange = function () {
if (!core.getLocalStorage('alertTileMode') && if (!editor.config.get('alertTileMode') &&
!confirm("从V2.6.6开始tileset贴图模式已被废弃。\n请右键额外素材并输入所需要绘制的宽高然后单击地图以绘制一个区域。\n\n点取消将不再显示此提示。")) { !confirm("从V2.6.6开始tileset贴图模式已被废弃。\n请右键额外素材并输入所需要绘制的宽高然后单击地图以绘制一个区域。\n\n点取消将不再显示此提示。")) {
core.setLocalStorage('alertTileMode', true); editor.config.set('alertTileMode', true);
} }
// tip.showHelp(5) // tip.showHelp(5)
tip.isSelectedBlock(false) tip.isSelectedBlock(false)

View File

@ -31,15 +31,17 @@ editor_materialpanel_wrapper = function (editor) {
editor.uifunctions.fold_material_click = function () { editor.uifunctions.fold_material_click = function () {
if (editor.uivalues.folded) { if (editor.uivalues.folded) {
if (confirm("你想要展开素材吗?\n展开模式下将显示全素材内容。")) { if (confirm("你想要展开素材吗?\n展开模式下将显示全素材内容。")) {
core.setLocalStorage('folded', false); editor.config.set('folded', false, function() {
window.location.reload(); window.location.reload();
});
} }
} else { } else {
var perCol = parseInt(prompt("请输入折叠素材模式下每列的个数:", "50")) || 0; var perCol = parseInt(prompt("请输入折叠素材模式下每列的个数:", "50")) || 0;
if (perCol > 0) { if (perCol > 0) {
core.setLocalStorage('foldPerCol', perCol); editor.config.set('foldPerCol', perCol, false);
core.setLocalStorage('folded', true); editor.config.set('folded', false, function() {
window.location.reload(); window.location.reload();
});
} }
} }
} }

View File

@ -219,7 +219,7 @@ editor_ui_wrapper = function (editor) {
if (infoToSave == JSON.stringify({})) return; if (infoToSave == JSON.stringify({})) return;
editor.uivalues.shortcut[e.keyCode] = JSON.parse(infoToSave); editor.uivalues.shortcut[e.keyCode] = JSON.parse(infoToSave);
printf('已保存该快捷图块, 数字键 ' + (e.keyCode - 48) + ' 使用.') printf('已保存该快捷图块, 数字键 ' + (e.keyCode - 48) + ' 使用.')
core.setLocalStorage('shortcut', editor.uivalues.shortcut); editor.config.set('shortcut', editor.uivalues.shortcut);
return; return;
} }
//ctrl + 0~9 切换到快捷图块 //ctrl + 0~9 切换到快捷图块

View File

@ -584,6 +584,7 @@
<!-- <script src="https://cdn.bootcss.com/vue/2.5.13/vue.js"></script> --> <!-- <script src="https://cdn.bootcss.com/vue/2.5.13/vue.js"></script> -->
<!-- <script src='_server/vendor/polyfill.min.js'></script> --> <!-- <script src='_server/vendor/polyfill.min.js'></script> -->
<script src='_server/fs.js'></script> <script src='_server/fs.js'></script>
<script src='_server/editor_config.js'></script>
<script src='_server/editor_util.js'></script> <script src='_server/editor_util.js'></script>
<script src='_server/editor_game.js'></script> <script src='_server/editor_game.js'></script>
<script src='_server/editor_file.js'></script> <script src='_server/editor_file.js'></script>

View File

@ -568,6 +568,7 @@
<!-- <script src="https://cdn.bootcss.com/vue/2.5.13/vue.js"></script> --> <!-- <script src="https://cdn.bootcss.com/vue/2.5.13/vue.js"></script> -->
<!-- <script src='_server/vendor/polyfill.min.js'></script> --> <!-- <script src='_server/vendor/polyfill.min.js'></script> -->
<script src='_server/fs.js'></script> <script src='_server/fs.js'></script>
<script src='_server/editor_config.js'></script>
<script src='_server/editor_util.js'></script> <script src='_server/editor_util.js'></script>
<script src='_server/editor_game.js'></script> <script src='_server/editor_game.js'></script>
<script src='_server/editor_file.js'></script> <script src='_server/editor_file.js'></script>