Merge pull request #48 from zhaouv/dev-2.0-blockly-20180214
Dev 2 0 blockly 20180214
This commit is contained in:
commit
7883bc48d5
@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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') {
|
||||||
|
|||||||
@ -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])}});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user