From caff7c78f8542fdfe1d41a2e23d75151ba42d8e2 Mon Sep 17 00:00:00 2001 From: libccy Date: Fri, 29 Jul 2016 00:28:36 +0800 Subject: [PATCH] code --- game/game.js | 48 ++++++++++++++++++++--------------- game/update.js | 5 ++-- layout/default/codemirror.css | 2 +- 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/game/game.js b/game/game.js index a0e042b81..d9f881189 100755 --- a/game/game.js +++ b/game/game.js @@ -21610,10 +21610,11 @@ inputExtName.disabled=true; setTimeout(function(){ var ext={}; + var config,help; for(var i in dash4.content){ try{ - eval('ext[i]='+dash4.content[i]); if(i=='content'||i=='precontent'){ + eval('ext[i]='+dash4.content[i]); if(typeof ext[i]!='function'){ throw('err'); } @@ -21622,6 +21623,8 @@ } } else{ + eval(dash4.content[i]); + eval('ext[i]='+i); if(typeof ext[i]!='object'){ throw('err'); } @@ -21631,6 +21634,7 @@ } } catch(e){ + console.log(e); delete ext[i]; } } @@ -22172,7 +22176,7 @@ } newCard.querySelector('.new_description').value=page.content.pack.translate[this.link+'_info']; var info=page.content.pack.card[this.link]; - container.code=get.stringify(info); + container.code='card='+get.stringify(info); toggle.innerHTML='编辑卡牌
>
'; var confirm=newCard.querySelector('.menubutton.large'); @@ -22364,7 +22368,7 @@ if(node.nextSibling){ node.nextSibling.remove(); } - container.code='{\n type:"basic",\n enable:true,\n filterTarget:true,\n content:function(){\n target.draw()\n },\n ai:{\n order:1,\n result:{\n target:1\n }\n }\n}'; + container.code='card={\n \n}\n\n\/*\n示例:\ncard={\n type:"basic",\n enable:true,\n filterTarget:true,\n content:function(){\n target.draw()\n },\n ai:{\n order:1,\n result:{\n target:1\n }\n }\n}\n此例的效果为目标摸一张牌\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; } newCard=ui.create.div('.new_character',page); @@ -22471,7 +22475,7 @@ citeButton.style.display=''; selectname.style.display='none'; confirmcontainer.style.display='none'; - container.code=get.stringify(lib.card[selectname.value]); + container.code='card='+get.stringify(lib.card[selectname.value]); codeButton.onclick.call(codeButton); newCard.querySelector('input.new_description').value=lib.translate[selectname.value+'_info']; } @@ -22555,7 +22559,7 @@ }; var saveConfig=ui.create.div('.editbutton','保存',editorpage,saveInput); var editor=ui.create.div(editorpage); - container.code='{\n type:"basic",\n enable:true,\n filterTarget:true,\n content:function(){\n target.draw()\n },\n ai:{\n order:1,\n result:{\n target:1\n }\n }\n}'; + container.code='card={\n \n}\n\n\/*\n示例:\ncard={\n type:"basic",\n enable:true,\n filterTarget:true,\n content:function(){\n target.draw()\n },\n ai:{\n order:1,\n result:{\n target:1\n }\n }\n}\n此例的效果为目标摸一张牌\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; ui.create.div('.menubutton.large.new_card','创建卡牌',newCard,function(){ var name=page.querySelector('input.new_name').value; @@ -22597,7 +22601,9 @@ page.content.pack.translate[name]=translate; page.content.pack.translate[name+'_info']=info; try{ - eval('page.content.pack.card[name]='+container.code); + var card; + eval(container.code); + page.content.pack.card[name]=card; } catch(e){ page.content.pack.card[name]={}; @@ -22798,7 +22804,7 @@ } newSkill.querySelector('.new_description').value=page.content.pack.translate[this.link+'_info']; var info=page.content.pack.skill[this.link]; - container.code=get.stringify(info); + container.code='skill='+get.stringify(info); toggle.innerHTML='编辑技能
>
'; var confirm=newSkill.querySelector('.menubutton.large'); @@ -22850,7 +22856,7 @@ if(node.nextSibling){ node.nextSibling.remove(); } - container.code='{\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}'; + container.code='skill={\n \n}\n\n\/*\nskill={\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; } newSkill=ui.create.div('.new_character.new_skill',page); @@ -22928,7 +22934,7 @@ }; var saveConfig=ui.create.div('.editbutton','保存',editorpage,saveInput); var editor=ui.create.div(editorpage); - container.code='{\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}'; + container.code='skill={\n \n}\n\n\/*\nskill={\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; var citebutton=document.createElement('button'); citebutton.innerHTML='引用代码'; @@ -22993,7 +22999,7 @@ skillopt.style.display='none'; addSkillButton.style.display='none'; cancelSkillButton.style.display='none'; - container.code=get.stringify(lib.skill[skillopt.value]); + container.code='skill='+get.stringify(lib.skill[skillopt.value]); editbutton.onclick.call(editbutton); newSkill.querySelector('input.new_description').value=lib.translate[skillopt.value+'_info']; } @@ -23028,7 +23034,9 @@ page.content.pack.translate[name]=translate; page.content.pack.translate[name+'_info']=info; try{ - eval('page.content.pack.skill[name]='+container.code); + var skill; + eval(container.code); + page.content.pack.skill[name]=skill; } catch(e){ page.content.pack.skill[name]={}; @@ -23071,7 +23079,7 @@ for(var i in lib.extensionPack[name].code){ switch(typeof lib.extensionPack[name].code[i]){ case 'function':page.content[i]=lib.extensionPack[name].code[i].toString();break; - case 'object':page.content[i]=get.stringify(lib.extensionPack[name].code[i]);break; + case 'object':page.content[i]=i+'='+get.stringify(lib.extensionPack[name].code[i]);break; } } for(var i in page.content){ @@ -23079,10 +23087,10 @@ } } else{ - dashes.content.node.code='function(config,pack){\n \/\/执行时机为界面加载之后,其它扩展内容加载之前\n \/\/参数1扩展选项(见选项代码);参数2为扩展定义的武将、卡牌和技能等(可修改)\n}'; - dashes.precontent.node.code='function(){\n \/\/执行时机为游戏启动时,游戏包加载之前,且不受禁用扩展的限制\n \/\/除添加模式外请慎用\n}'; - dashes.config.node.code='{\n \n}\n\n\/*\n示例:\n{\n switcher_example:{\n name:"示例列表选项",\n init:"3",\n item:{"1":"一","2":"二","3":"三"}\n },\n toggle_example:{\n name:"示例开关选项",\n init:true\n }\n}\n此例中传入的主代码函数的默认参数为{switcher_example:"3",toggle_example:true}\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; - dashes.help.node.code='{\n \n}\n\n\/*\n示例:\n{\n "帮助条目":"
  1. 列表2-条目1
  2. 列表2-条目2"\n}\n帮助内容将显示在菜单-选项-帮助中\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; + dashes.content.node.code='function(config,pack){\n \n}\n\n\/*\n函数执行时机为游戏数据加载之后、界面加载之前\n参数1扩展选项(见选项代码);参数2为扩展定义的武将、卡牌和技能等(可在此函数中修改)\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; + dashes.precontent.node.code='function(){\n \n}\n\n\/*\n函数执行时机为游戏数据加载之前,且不受禁用扩展的限制\n除添加模式外请慎用\n*\/'; + dashes.config.node.code='config={\n \n}\n\n\/*\n示例:\nconfig={\n switcher_example:{\n name:"示例列表选项",\n init:"3",\n item:{"1":"一","2":"二","3":"三"}\n },\n toggle_example:{\n name:"示例开关选项",\n init:true\n }\n}\n此例中传入的主代码函数的默认参数为{switcher_example:"3",toggle_example:true}\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; + dashes.help.node.code='help={\n \n}\n\n\/*\n示例:\nhelp={\n "帮助条目":"
    • 列表1-条目1
    • 列表1-条目2
    1. 列表2-条目1
    2. 列表2-条目2"\n}\n帮助内容将显示在菜单-选项-帮助中\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; } }; var dashes={}; @@ -23171,10 +23179,10 @@ } }; page.content={} - createCode('主','主代码',page,clickCode,'content','function(config,pack){\n \/\/执行时机为界面加载之后,其它扩展内容加载之前\n \/\/参数1扩展选项(见选项代码);参数2为扩展定义的武将、卡牌和技能等(可修改)\n}'); - createCode('启','启动代码',page,clickCode,'precontent','function(){\n \/\/执行时机为游戏启动时,游戏包加载之前,且不受禁用扩展的限制\n \/\/除添加模式外请慎用\n}'); - createCode('选','选项代码',page,clickCode,'config','{\n \n}\n\n\/*\n示例:\n{\n switcher_example:{\n name:"示例列表选项",\n init:"3",\n item:{"1":"一","2":"二","3":"三"}\n },\n toggle_example:{\n name:"示例开关选项",\n init:true\n }\n}\n此例中传入的主代码函数的默认参数为{switcher_example:"3",toggle_example:true}\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'); - createCode('帮','帮助代码',page,clickCode,'help','{\n \n}\n\n\/*\n示例:\n{\n "帮助条目":"
      • 列表1-条目1
      • 列表1-条目2
      1. 列表2-条目1
      2. 列表2-条目2"\n}\n帮助内容将显示在菜单-选项-帮助中\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'); + createCode('主','主代码',page,clickCode,'content','function(config,pack){\n \n}\n\n\/*\n函数执行时机为游戏数据加载之后、界面加载之前\n参数1扩展选项(见选项代码);参数2为扩展定义的武将、卡牌和技能等(可在此函数中修改)\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'); + createCode('启','启动代码',page,clickCode,'precontent','function(){\n \n}\n\n\/*\n函数执行时机为游戏数据加载之前,且不受禁用扩展的限制\n除添加模式外请慎用\n*\/'); + createCode('选','选项代码',page,clickCode,'config','config={\n \n}\n\n\/*\n示例:\nconfig={\n switcher_example:{\n name:"示例列表选项",\n init:"3",\n item:{"1":"一","2":"二","3":"三"}\n },\n toggle_example:{\n name:"示例开关选项",\n init:true\n }\n}\n此例中传入的主代码函数的默认参数为{switcher_example:"3",toggle_example:true}\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'); + createCode('帮','帮助代码',page,clickCode,'help','help={\n \n}\n\n\/*\n示例:\nhelp={\n "帮助条目":"
        • 列表1-条目1
        • 列表1-条目2
        1. 列表2-条目1
        2. 列表2-条目2"\n}\n帮助内容将显示在菜单-选项-帮助中\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'); return page; }()); diff --git a/game/update.js b/game/update.js index 44d8da771..95f6a0af9 100644 --- a/game/update.js +++ b/game/update.js @@ -1,8 +1,8 @@ window.noname_update={ - version:'1.8.19.4', + version:'1.8.19.5', changeLog:[ '***注意:更新后将无法使用或导出自定义武将,请自行备份***', - '新代码编辑器', + '扩展代码编辑格式改动(见默认代码,现有代码不用改)', '修bug', ], files:{ @@ -26,5 +26,6 @@ window.noname_update={ '1.8.19.1':[], '1.8.19.2':[], '1.8.19.3':[], + '1.8.19.4':[], } } diff --git a/layout/default/codemirror.css b/layout/default/codemirror.css index 3d5445dd5..0eaa1c1b0 100644 --- a/layout/default/codemirror.css +++ b/layout/default/codemirror.css @@ -248,7 +248,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} border-width: 0; background: transparent; /*font-family: inherit;*/ - font-family:'STHeiti','SimHei','Microsoft JhengHei','Microsoft YaHei','WenQuanYi Micro Hei',Helvetica,Arial,sans-serif; + /*font-family:'STHeiti','SimHei','Microsoft JhengHei','Microsoft YaHei','WenQuanYi Micro Hei',Helvetica,Arial,sans-serif;*/ font-size: inherit; margin: 0; white-space: pre;