Merge pull request #48 from zhaouv/dev-2.0-blockly-20180214

Dev 2 0 blockly 20180214
This commit is contained in:
Zhang Chen 2018-02-19 22:42:09 +08:00 committed by GitHub
commit 7883bc48d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 27 deletions

View File

@ -226,15 +226,15 @@ initscript=String.raw`
var input_=''; var input_='';
editor_blockly.runOne = function (){ editor_blockly.runOne = function (){
//var printf = console.log; //var printf = console.log;
var printf = function(){}; //var printf = function(){};
var grammerFile = input_; var grammerFile = input_;
converter = new Converter().init(); converter = new Converter().init();
converter.generBlocks(grammerFile,[]); converter.generBlocks(grammerFile,[]);
printf(converter.blocks); //printf(converter.blocks);
converter.renderGrammerName(); converter.renderGrammerName();
converter.generToolbox(); converter.generToolbox();
converter.generMainFile(); converter.generMainFile();
printf(converter.mainFile.join('')); //printf(converter.mainFile.join(''));
console.log(converter); console.log(converter);

View File

@ -29,7 +29,7 @@
editor_file.getFloorFileList = function(editor,callback){ editor_file.getFloorFileList = function(editor,callback){
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
/* var fs = editor.fs; /* var fs = editor.fs;
fs.readdir('project/floors',function(err, data){ fs.readdir('project/floors',function(err, data){
callback([data,err]); callback([data,err]);
@ -39,7 +39,7 @@
//callback([Array<String>,err:String]) //callback([Array<String>,err:String])
editor_file.loadFloorFile = function(editor,filename,callback){ editor_file.loadFloorFile = function(editor,filename,callback){
//filename不含'/'不含'.js' //filename不含'/'不含'.js'
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
/* var fs = editor.fs; /* var fs = editor.fs;
fs.readFile('project/floors/'+filename+'.js','utf-8',function(err, data){ fs.readFile('project/floors/'+filename+'.js','utf-8',function(err, data){
if (err!=null){callback(err);return;} if (err!=null){callback(err);return;}
@ -64,7 +64,7 @@
} }
//callback(err:String) //callback(err:String)
editor_file.saveFloorFile = function(editor,callback){ editor_file.saveFloorFile = function(editor,callback){
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
/* if (!isset(editor.currentFloorId) || !isset(editor.currentFloorData)) { /* if (!isset(editor.currentFloorId) || !isset(editor.currentFloorData)) {
callback('未选中文件或无数据'); callback('未选中文件或无数据');
} */ } */
@ -87,7 +87,7 @@
//callback(err:String) //callback(err:String)
editor_file.saveFloorFileAs = function(editor,saveAsFilename,callback){ editor_file.saveFloorFileAs = function(editor,saveAsFilename,callback){
//saveAsFilename不含'/'不含'.js' //saveAsFilename不含'/'不含'.js'
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
if (!isset(editor.currentFloorData)) { if (!isset(editor.currentFloorData)) {
callback('无数据'); callback('无数据');
} }
@ -102,7 +102,7 @@
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
editor_file.changeIdAndIdnum = function(editor,id,idnum,info,callback){ editor_file.changeIdAndIdnum = function(editor,id,idnum,info,callback){
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
//检查maps中是否有重复的idnum或id //检查maps中是否有重复的idnum或id
var change = -1; var change = -1;
for(var ii in editor.core.maps.blocksInfo){ for(var ii in editor.core.maps.blocksInfo){
@ -150,10 +150,10 @@
saveSetting('maps',[["add","['"+idnum+"']",{'cls': info.images, 'id':id}]],tempcallback); saveSetting('maps',[["add","['"+idnum+"']",{'cls': info.images, 'id':id}]],tempcallback);
saveSetting('icons',[["add","['"+info.images+"']['"+id+"']",info.y]],tempcallback); saveSetting('icons',[["add","['"+info.images+"']['"+id+"']",info.y]],tempcallback);
if(info.images==='items'){ if(info.images==='items'){
saveSetting('items',[["change"/*其实应该是add*/,"['items']['"+id+"']",editor_file.comment.items_template]],function(err){if(err)throw(err)}); saveSetting('items',[["change"/*其实应该是add*/,"['items']['"+id+"']",editor_file.comment.items_template]],function(err){if(err){printe(err);throw(err)}});
} }
if(info.images==='enemys'){ if(info.images==='enemys'){
saveSetting('enemys',[["change"/*其实应该是add*/,"['enemys']['"+id+"']",editor_file.comment.enemys_template]],function(err){if(err)throw(err)}); saveSetting('enemys',[["change"/*其实应该是add*/,"['enemys']['"+id+"']",editor_file.comment.enemys_template]],function(err){if(err){printe(err);throw(err)}});
} }
callback(null); callback(null);
@ -167,7 +167,7 @@
] ]
[]时只查询不修改 []时只查询不修改
*/ */
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
if (isset(actionList) && actionList.length > 0){ if (isset(actionList) && actionList.length > 0){
actionList.forEach(function (value) { actionList.forEach(function (value) {
var tempindex = value[1].indexOf(']')+1; var tempindex = value[1].indexOf(']')+1;
@ -216,7 +216,7 @@
] ]
[]时只查询不修改 []时只查询不修改
*/ */
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
if (isset(actionList) && actionList.length > 0){ if (isset(actionList) && actionList.length > 0){
actionList.forEach(function (value) { actionList.forEach(function (value) {
value[1] = "['"+id+"']"+value[1]; value[1] = "['"+id+"']"+value[1];
@ -263,7 +263,7 @@
] ]
[]时只查询不修改 []时只查询不修改
*/ */
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
if (isset(actionList) && actionList.length > 0){ if (isset(actionList) && actionList.length > 0){
actionList.forEach(function (value) { actionList.forEach(function (value) {
value[1] = value[1]+"['"+x+","+y+"']"; value[1] = value[1]+"['"+x+","+y+"']";
@ -311,7 +311,7 @@
] ]
[]时只查询不修改 []时只查询不修改
*/ */
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
if (isset(actionList) && actionList.length > 0){ if (isset(actionList) && actionList.length > 0){
saveSetting('floors',actionList,function (err) { saveSetting('floors',actionList,function (err) {
callback([ callback([
@ -355,7 +355,7 @@
] ]
[]时只查询不修改 []时只查询不修改
*/ */
if (!isset(callback)) throw('未设置callback'); if (!isset(callback)) {printe('未设置callback');throw('未设置callback')};
if (isset(actionList) && actionList.length > 0){ if (isset(actionList) && actionList.length > 0){
saveSetting('data',actionList,function (err) { saveSetting('data',actionList,function (err) {
callback([ callback([
@ -421,7 +421,7 @@
console.log(file); console.log(file);
console.log(actionList); console.log(actionList);
actionList.forEach(function (value) { actionList.forEach(function (value) {
if (value[0]!='change' && file!='icons' && file!='maps') throw('目前只支持change'); if (value[0]!='change' && file!='icons' && file!='maps') {printe('目前只支持change');throw('目前只支持change')};
}); });
if (file=='icons') { if (file=='icons') {

View File

@ -145,23 +145,23 @@ editor_mode.prototype.doActionList = function(mode,actionList){
switch (mode) { switch (mode) {
case 'loc': case 'loc':
editor_file.editLoc(editor,editor_mode.pos.x,editor_mode.pos.y,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null)throw(objs_.slice(-1)[0])}); editor_file.editLoc(editor,editor_mode.pos.x,editor_mode.pos.y,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null){printe(objs_.slice(-1)[0]);throw(objs_.slice(-1)[0])};printf('修改成功')});
break; break;
case 'emenyitem': case 'emenyitem':
if (editor_mode.info.images=='enemys'){ if (editor_mode.info.images=='enemys'){
editor_file.editEnemy(editor,editor_mode.info.id,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null)throw(objs_.slice(-1)[0])}); editor_file.editEnemy(editor,editor_mode.info.id,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null){printe(objs_.slice(-1)[0]);throw(objs_.slice(-1)[0])};printf('修改成功')});
} else if (editor_mode.info.images=='items'){ } else if (editor_mode.info.images=='items'){
editor_file.editItem(editor,editor_mode.info.id,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null)throw(objs_.slice(-1)[0])}); editor_file.editItem(editor,editor_mode.info.id,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null){printe(objs_.slice(-1)[0]);throw(objs_.slice(-1)[0])};printf('修改成功')});
} }
break; break;
case 'floor': case 'floor':
editor_file.editFloor(editor,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null)throw(objs_.slice(-1)[0])}); editor_file.editFloor(editor,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null){printe(objs_.slice(-1)[0]);throw(objs_.slice(-1)[0])};printf('修改成功')});
break; break;
case 'tower': case 'tower':
editor.file.editTower(editor,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null)throw(objs_.slice(-1)[0])}); editor.file.editTower(editor,actionList,function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null){printe(objs_.slice(-1)[0]);throw(objs_.slice(-1)[0])};printf('修改成功')});
break; break;
default: default:
break; break;
@ -249,10 +249,12 @@ editor_mode.prototype.listen = function(callback){
if (newIdIdnum.children[0].value && newIdIdnum.children[1].value){ if (newIdIdnum.children[0].value && newIdIdnum.children[1].value){
var id = newIdIdnum.children[0].value; var id = newIdIdnum.children[0].value;
var idnum = parseInt(newIdIdnum.children[1].value); var idnum = parseInt(newIdIdnum.children[1].value);
editor_file.changeIdAndIdnum(editor,id,idnum,editor_mode.info,function(err){if(err)throw(err)}); editor_file.changeIdAndIdnum(editor,id,idnum,editor_mode.info,function(err){
if(err){printe(err);throw(err)}
printf('添加id的idnum成功');
});
} }
} }
//尚未完成,不完善,新物品需要手动改items,新地形的支持不错
var selectFloor = document.getElementById('selectFloor'); var selectFloor = document.getElementById('selectFloor');
editor_file.getFloorFileList(editor,function(floors){ editor_file.getFloorFileList(editor,function(floors){
@ -271,7 +273,7 @@ editor_mode.prototype.listen = function(callback){
var saveFloor = document.getElementById('saveFloor'); var saveFloor = document.getElementById('saveFloor');
saveFloor.onclick = function(){ saveFloor.onclick = function(){
editor_mode.onmode(''); editor_mode.onmode('');
editor_file.saveFloorFile(editor,function(err){if(err)throw(err)}); editor_file.saveFloorFile(editor,function(err){if(err){printe(err);throw(err)}});
} }
var saveFloorAs = document.getElementById('saveFloorAs'); var saveFloorAs = document.getElementById('saveFloorAs');
@ -280,9 +282,9 @@ editor_mode.prototype.listen = function(callback){
if (!saveAsName.value)return; if (!saveAsName.value)return;
editor_mode.onmode(''); editor_mode.onmode('');
editor_file.saveFloorFileAs(editor,saveAsName.value,function(err){ editor_file.saveFloorFileAs(editor,saveAsName.value,function(err){
if(err)throw(err); if(err){printe(err);throw(err)}
core.floorIds.push(saveAsName.value); core.floorIds.push(saveAsName.value);
editor.file.editTower(editor,[['change',"['main']['floorIds']",core.floorIds]],function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null)throw(objs_.slice(-1)[0])}); editor.file.editTower(editor,[['change',"['main']['floorIds']",core.floorIds]],function(objs_){console.log(objs_);if(objs_.slice(-1)[0]!=null){printe(objs_.slice(-1)[0]);throw(objs_.slice(-1)[0])}});
}); });
} }

View File

@ -184,6 +184,16 @@ var clear = new Vue({
} }
} }
}) })
printf = function(str_,type) {
if(!type){
tip.msgs[11]=String(str_);
tip.whichShow=12;
} else {
tip.msgs[10]=String(str_);
tip.whichShow=11;
}
}
printe = function(str_){printf(str_,'error')}
var tip = new Vue({ var tip = new Vue({
el: '#tip', el: '#tip',
data: { data: {
@ -205,6 +215,8 @@ var tip = new Vue({
"修改成功!可点击复制按钮复制地图数组到剪切板", "修改成功!可点击复制按钮复制地图数组到剪切板",
"选择背景图片失败!文件名格式错误或图片不存在!", "选择背景图片失败!文件名格式错误或图片不存在!",
"更新背景图片成功!", "更新背景图片成功!",
"11:警告",
"12:成功"
], ],
mapMsg: '', mapMsg: '',
whichShow: 0, whichShow: 0,

View File

@ -327,7 +327,7 @@
<script id='mainScript' src='main.js'></script> <script id='mainScript' src='main.js'></script>
<script> <script>
//所有全局量 //所有全局量
__all__=['Vue','fs','editor_file','editor_mode','main','core','hasOwnProp','editor','converter','ActionParser','MotaActionFunctions','MotaActionBlocks']; __all__=['Vue','fs','editor_file','editor_mode','main','core','hasOwnProp','printf','printe','editor','converter','ActionParser','MotaActionFunctions','MotaActionBlocks'];
__id__=['editArea','arrRowMark','mapRowMark','data','bg','dataSelection','blocklyDiv','codeArea','entryType']; __id__=['editArea','arrRowMark','mapRowMark','data','bg','dataSelection','blocklyDiv','codeArea','entryType'];
__Vue__=['exportM','editArea','editTip','clear','tip','selectBox']; __Vue__=['exportM','editArea','editTip','clear','tip','selectBox'];
//var event = document.getElementById('event'); //var event = document.getElementById('event');