This commit is contained in:
libccy 2016-07-24 23:51:55 +08:00
parent a0f6df0555
commit e6830402cb
5 changed files with 146 additions and 69 deletions

View File

@ -2959,7 +2959,7 @@ function DragdropHandler(mouseHandler) {
var blankImage = dom.createElement("img"); var blankImage = dom.createElement("img");
blankImage.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; blankImage.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";
if (useragent.isOpera) if (useragent.isOpera)
blankImage.style.cssText = "width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;"; blankImage.style.cssText = "width:1px;height:1px;position:fixed !important;top:0;left:0;z-index:2147483647;opacity:0;";
var exports = ["dragWait", "dragWaitEnd", "startDrag", "dragReadyEnd", "onMouseDrag"]; var exports = ["dragWait", "dragWaitEnd", "startDrag", "dragReadyEnd", "onMouseDrag"];
@ -10750,12 +10750,12 @@ exports.commands = [{
}, },
readOnly: true readOnly: true
}, { }, {
name: "find", // name: "find",
bindKey: bindKey("Ctrl-F", "Command-F"), // bindKey: bindKey("Ctrl-F", "Command-F"),
exec: function(editor) { // exec: function(editor) {
config.loadModule("ace/ext/searchbox", function(e) {e.Search(editor)}); // config.loadModule("ace/ext/searchbox", function(e) {e.Search(editor)});
}, // },
readOnly: true // readOnly: true
}, { }, {
name: "overwrite", name: "overwrite",
bindKey: "Insert", bindKey: "Insert",
@ -13001,7 +13001,7 @@ var Editor = function(renderer, session) {
if (!this.$scrollAnchor) if (!this.$scrollAnchor)
this.$scrollAnchor = document.createElement("div"); this.$scrollAnchor = document.createElement("div");
var scrollAnchor = this.$scrollAnchor; var scrollAnchor = this.$scrollAnchor;
scrollAnchor.style.cssText = "position:absolute"; scrollAnchor.style.cssText = "position:absolute !important";
this.container.insertBefore(scrollAnchor, this.container.firstChild); this.container.insertBefore(scrollAnchor, this.container.firstChild);
var onChangeSelection = this.on("changeSelection", function() { var onChangeSelection = this.on("changeSelection", function() {
shouldScroll = true; shouldScroll = true;
@ -14753,13 +14753,13 @@ var RenderLoop = require("./renderloop").RenderLoop;
var FontMetrics = require("./layer/font_metrics").FontMetrics; var FontMetrics = require("./layer/font_metrics").FontMetrics;
var EventEmitter = require("./lib/event_emitter").EventEmitter; var EventEmitter = require("./lib/event_emitter").EventEmitter;
var editorCss = ".ace_editor {\ var editorCss = ".ace_editor {\
position: relative;\ position: relative !important;\
overflow: hidden;\ overflow: hidden;\
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;\ font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;\
direction: ltr;\ direction: ltr;\
}\ }\
.ace_scroller {\ .ace_scroller {\
position: absolute;\ position: absolute !important;\
overflow: hidden;\ overflow: hidden;\
top: 0;\ top: 0;\
bottom: 0;\ bottom: 0;\
@ -14771,14 +14771,14 @@ user-select: none;\
cursor: text;\ cursor: text;\
}\ }\
.ace_content {\ .ace_content {\
position: absolute;\ position: absolute !important;\
-moz-box-sizing: border-box;\ -moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\ -webkit-box-sizing: border-box;\
box-sizing: border-box;\ box-sizing: border-box;\
min-width: 100%;\ min-width: 100%;\
}\ }\
.ace_dragging .ace_scroller:before{\ .ace_dragging .ace_scroller:before{\
position: absolute;\ position: absolute !important;\
top: 0;\ top: 0;\
left: 0;\ left: 0;\
right: 0;\ right: 0;\
@ -14794,7 +14794,7 @@ background: rgba(0, 0, 0, 0.01);\
cursor: text !important;\ cursor: text !important;\
}\ }\
.ace_gutter {\ .ace_gutter {\
position: absolute;\ position: absolute !important;\
overflow : hidden;\ overflow : hidden;\
width: auto;\ width: auto;\
top: 0;\ top: 0;\
@ -14808,7 +14808,7 @@ z-index: 4;\
user-select: none;\ user-select: none;\
}\ }\
.ace_gutter-active-line {\ .ace_gutter-active-line {\
position: absolute;\ position: absolute !important;\
left: 0;\ left: 0;\
right: 0;\ right: 0;\
}\ }\
@ -14837,13 +14837,13 @@ background-position: 2px center;\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC\");\ background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC\");\
}\ }\
.ace_scrollbar {\ .ace_scrollbar {\
position: absolute;\ position: absolute !important;\
right: 0;\ right: 0;\
bottom: 0;\ bottom: 0;\
z-index: 6;\ z-index: 6;\
}\ }\
.ace_scrollbar-inner {\ .ace_scrollbar-inner {\
position: absolute;\ position: absolute !important;\
cursor: text;\ cursor: text;\
left: 0;\ left: 0;\
top: 0;\ top: 0;\
@ -14859,11 +14859,11 @@ overflow-y: hidden;\
left: 0;\ left: 0;\
}\ }\
.ace_print-margin {\ .ace_print-margin {\
position: absolute;\ position: absolute !important;\
height: 100%;\ height: 100%;\
}\ }\
.ace_text-input {\ .ace_text-input {\
position: absolute;\ position: absolute !important;\
z-index: 0;\ z-index: 0;\
width: 0.5em;\ width: 0.5em;\
height: 1em;\ height: 1em;\
@ -14894,7 +14894,7 @@ text-indent: 0;\
}\ }\
.ace_layer {\ .ace_layer {\
z-index: 1;\ z-index: 1;\
position: absolute;\ position: absolute !important;\
overflow: hidden;\ overflow: hidden;\
word-wrap: normal;\ word-wrap: normal;\
white-space: pre;\ white-space: pre;\
@ -14906,7 +14906,7 @@ box-sizing: border-box;\
pointer-events: none;\ pointer-events: none;\
}\ }\
.ace_gutter-layer {\ .ace_gutter-layer {\
position: relative;\ position: relative !important;\
width: auto;\ width: auto;\
text-align: right;\ text-align: right;\
pointer-events: auto;\ pointer-events: auto;\
@ -14923,7 +14923,7 @@ z-index: 4;\
}\ }\
.ace_cursor {\ .ace_cursor {\
z-index: 4;\ z-index: 4;\
position: absolute;\ position: absolute !important;\
-moz-box-sizing: border-box;\ -moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\ -webkit-box-sizing: border-box;\
box-sizing: border-box;\ box-sizing: border-box;\
@ -14948,23 +14948,23 @@ transition: opacity 0.18s;\
border-left-width: 1px;\ border-left-width: 1px;\
}\ }\
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\ .ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\
position: absolute;\ position: absolute !important;\
z-index: 3;\ z-index: 3;\
}\ }\
.ace_marker-layer .ace_selection {\ .ace_marker-layer .ace_selection {\
position: absolute;\ position: absolute !important;\
z-index: 5;\ z-index: 5;\
}\ }\
.ace_marker-layer .ace_bracket {\ .ace_marker-layer .ace_bracket {\
position: absolute;\ position: absolute !important;\
z-index: 6;\ z-index: 6;\
}\ }\
.ace_marker-layer .ace_active-line {\ .ace_marker-layer .ace_active-line {\
position: absolute;\ position: absolute !important;\
z-index: 2;\ z-index: 2;\
}\ }\
.ace_marker-layer .ace_selected-word {\ .ace_marker-layer .ace_selected-word {\
position: absolute;\ position: absolute !important;\
z-index: 4;\ z-index: 4;\
-moz-box-sizing: border-box;\ -moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\ -webkit-box-sizing: border-box;\
@ -15006,7 +15006,7 @@ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\
color: black;\ color: black;\
max-width: 100%;\ max-width: 100%;\
padding: 3px 4px;\ padding: 3px 4px;\
position: fixed;\ position: fixed !important;\
z-index: 999999;\ z-index: 999999;\
-moz-box-sizing: border-box;\ -moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\ -webkit-box-sizing: border-box;\
@ -15101,12 +15101,12 @@ font-style: italic;\
}\ }\
.ace_error-marker {\ .ace_error-marker {\
background-color: rgba(255, 0, 0,0.2);\ background-color: rgba(255, 0, 0,0.2);\
position: absolute;\ position: absolute !important;\
z-index: 9;\ z-index: 9;\
}\ }\
.ace_highlight-marker {\ .ace_highlight-marker {\
background-color: rgba(255, 255, 0,0.2);\ background-color: rgba(255, 255, 0,0.2);\
position: absolute;\ position: absolute !important;\
z-index: 8;\ z-index: 8;\
}\ }\
.ace_br1 {border-top-left-radius : 3px;}\ .ace_br1 {border-top-left-radius : 3px;}\
@ -18592,7 +18592,7 @@ dom.importCssString("\
border-color: #5aaa5a\ border-color: #5aaa5a\
}\ }\
.error_widget_arrow {\ .error_widget_arrow {\
position: absolute;\ position: absolute !important;\
border: solid 5px;\ border: solid 5px;\
border-top-color: transparent!important;\ border-top-color: transparent!important;\
border-right-color: transparent!important;\ border-right-color: transparent!important;\

View File

@ -21451,6 +21451,7 @@
createModeConfig(i,start.firstChild); createModeConfig(i,start.firstChild);
} }
(function(){ (function(){
if(!game.download) return;
var page=ui.create.div('#create-extension'); var page=ui.create.div('#create-extension');
var node=ui.create.div('.menubutton.large','制作扩展',start.firstChild,clickMode); var node=ui.create.div('.menubutton.large','制作扩展',start.firstChild,clickMode);
node.link=page; node.link=page;
@ -21485,14 +21486,15 @@
exportExtLine.querySelectorAll('span')[1].onclick=function(){ exportExtLine.querySelectorAll('span')[1].onclick=function(){
exportExtLine.style.display='none'; exportExtLine.style.display='none';
}; };
var dashboard=ui.create.div('#extension-dashboard',pageboard); var dashboard=ui.create.div(pageboard);
var clickDash=function(){ var clickDash=function(){
pageboard.hide(); pageboard.hide();
this.link.show(); this.link.show();
}; };
var createDash=function(str1,str2,node){ var createDash=function(str1,str2,node){
var dash=ui.create.div('.menubutton.large.dashboard');
dashboard.appendChild(dash);
page.appendChild(node); page.appendChild(node);
var dash=ui.create.div('.menubutton.large',dashboard);
dash.link=node; dash.link=node;
dash.listen(clickDash); dash.listen(clickDash);
ui.create.div('',str1,dash); ui.create.div('',str1,dash);
@ -21644,11 +21646,63 @@
var dash3=ui.create.div('.hidden',page); var dash3=ui.create.div('.hidden',page);
var dash4=(function(){ var dash4=(function(){
var page=ui.create.div('.hidden.menu-buttons'); var page=ui.create.div('.hidden.menu-buttons');
ui.create.div('.config.more','<div style="transform:none;margin-right:3px">←</div>返回',page,function(){ ui.create.div('.config.more.margin-bottom','<div style="transform:none;margin-right:3px">←</div>返回',page,function(){
page.hide(); page.hide();
pageboard.show(); pageboard.show();
}); });
var createCode=function(str1,str2,sub,func,link,str){
var dash=ui.create.div('.menubutton.large.dashboard');
sub.appendChild(dash);
dash.listen(func);
dash.link=link;
ui.create.div('',str1,dash);
ui.create.div('',str2,dash);
var container=ui.create.div('.popup-container.editor');
var editorpage=ui.create.div(container);
var discardConfig=ui.create.div('.editbutton','取消',editorpage,function(){
ui.window.classList.remove('shortcutpaused');
ui.window.classList.remove('systempaused');
container.delete();
});
var saveConfig=ui.create.div('.editbutton','保存',editorpage,function(){
ui.window.classList.remove('shortcutpaused');
ui.window.classList.remove('systempaused');
container.delete();
});
var editor=ui.create.div('#editor-'+link,editorpage);
editor.innerHTML=str;
dash.editor=editor;
dash.node=container;
};
var clickCode=function(){
var node=this.node;
ui.window.classList.add('shortcutpaused');
ui.window.classList.add('systempaused');
if(node.aced){
ui.window.appendChild(node);
}
else{
var id=this.editor.id;
var aceReady=function(){
ui.window.appendChild(node);
var editor=window.ace.edit(id);
editor.setTheme("ace/theme/chrome");
editor.getSession().setUseWorker(false);
editor.getSession().setMode("ace/mode/javascript");
node.aced=true;
}
if(!window.ace){
lib.init.js('game','ace',aceReady);
}
else{
aceReady();
}
}
};
createCode('主','主代码',page,clickCode,'content','function(config,pack){\n\t\/\/执行时机为界面加载之后,其它扩展内容加载之前\n\t\/\/参数1为选项值参数2为扩展定义的武将、卡牌和技能可修改\n}');
createCode('启','启动代码',page,clickCode,'precontent','function(){\n\t\/\/执行时机为游戏启动时,游戏包加载之前,且不受禁用扩展的限制\n\t\/\/除添加模式外请慎用\n}');
createCode('选','选项代码',page,clickCode,'config','{\n\tswitcher_example:{\n\t\tname:"示例列表选项",\n\t\tinit:"3",\n\t\titem:{"1":"一","2":"二","3":"三"}\n\t},\n\ttoggle_example:{\n\t\tname:"示例开关选项",\n\t\tinit:true\n\t}\n}\n\n\/\/传入主代码函数的参数为{switcher_example:"3",toggle_example:true}');
createCode('帮','帮助代码',page,clickCode,'help','{\n\t"帮助条目":"&lt;ul&gt;&lt;li&gt;列表1-条目1&lt;li&gt;列表1-条目2&lt;\/ul&gt;&lt;ol&gt;&lt;li&gt;列表2-条目1&lt;li&gt;列表2-条目2&lt;\/ul&gt;"\n}');
return page; return page;
}()); }());
createDash('将','编辑武将',dash1); createDash('将','编辑武将',dash1);

View File

@ -12,7 +12,11 @@ body{
text-rendering:optimizeLegibility; text-rendering:optimizeLegibility;
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
} }
div{display: inline-block;position: absolute;transition: all 0.5s;} div{
display: inline-block;
position: absolute;
transition: all 0.5s;
}
table{table-layout: fixed;} table{table-layout: fixed;}
/*--------场景--------*/ /*--------场景--------*/
@ -41,6 +45,7 @@ table{table-layout: fixed;}
} }
#window.shortcutpaused>div:not(.background):not(#shortcut):not(#system):not(#arena):not(.hidden):not(.removing):not(.dialog):not(.centermenu):not(.popup-container){opacity: 0.3 !important} #window.shortcutpaused>div:not(.background):not(#shortcut):not(#system):not(#arena):not(.hidden):not(.removing):not(.dialog):not(.centermenu):not(.popup-container){opacity: 0.3 !important}
#window.shortcutpaused>#arena>div:not(#timer):not(.removing):not(.hidden):not(#autonode){opacity: 0.3 !important} #window.shortcutpaused>#arena>div:not(#timer):not(.removing):not(.hidden):not(#autonode){opacity: 0.3 !important}
#window.shortcutpaused>#system{opacity: 0.3 !important;}
#window.noclick_important *{pointer-events: none !important;} #window.noclick_important *{pointer-events: none !important;}
#window.noclick_important .noclick_click_important div{pointer-events: auto !important} #window.noclick_important .noclick_click_important div{pointer-events: auto !important}

View File

@ -708,22 +708,23 @@
top:0; top:0;
} }
#extension-dashboard>.menubutton.large{ .menubutton.large.dashboard{
width: 80px; width: 80px;
height: 80px; height: 80px;
margin: 6px; margin: 6px;
position: relative !important;
} }
#extension-dashboard>.menubutton.large>div:first-child{ .menubutton.large.dashboard>div:first-child{
font-family: 'lishu','xiaozhuan'; font-family: 'lishu','xiaozhuan';
font-size: 60px; font-size: 60px;
line-height: 60px; line-height: 60px;
position: absolute; position: absolute;
left: 0; left: 0;
top: 10px; top: 7px;
width: 100%; width: 100%;
height: 60px; height: 60px;
} }
#extension-dashboard>.menubutton.large>div:last-child{ .menubutton.large.dashboard>div:last-child{
font-size: 18px; font-size: 18px;
position: absolute; position: absolute;
left: 0; left: 0;
@ -732,6 +733,8 @@
} }
#create-extension{ #create-extension{
height: calc(100% - 5px); height: calc(100% - 5px);
width: calc(100% - 10px);
overflow: hidden;
} }
#create-extension>div{ #create-extension>div{
position: absolute; position: absolute;
@ -744,11 +747,17 @@
#create-extension>.menu-buttons{ #create-extension>.menu-buttons{
left:10px; left:10px;
height: calc(100% - 5px); height: calc(100% - 5px);
width: calc(100% - 15px) !important;
} }
#create-extension>.menu-buttons>.config.more{ #create-extension>.menu-buttons>.config.more{
margin-left: 0px !important; margin-left: 0px !important;
margin-top: 10px !important; margin-top: 10px !important;
} }
#create-extension>.menu-buttons>.config.more.margin-bottom{
margin-left: 0px !important;
margin-top: 10px !important;
margin-bottom: 5px !important;
}
#create-extension>.hidden{ #create-extension>.hidden{
pointer-events: none; pointer-events: none;
} }
@ -766,3 +775,42 @@
margin-right: 3px; margin-right: 3px;
margin-bottom: 3px; margin-bottom: 3px;
} }
.popup-container.editor>div{
width: 80%;
height: 90%;
position: absolute;
left: 10%;
top: 5%;
border-radius: 4px;
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 0 10px;
background: white;
}
.popup-container.editor>div>.editbutton{
font-family: 'lishu';
font-size: 18px;
color: rgb(60,60,60);
text-shadow: none;
position: absolute;
left: 0;
padding: 7px;
font-size: 24px;
}
.popup-container.editor>div>.editbutton:first-child{
left: auto;
right: 0;
}
.popup-container.editor>div>div:last-child{
width: 100%;
height: calc(100% - 40px);
position: absolute;
top:40px;
border-radius: 0 0 4px 4px;
border-top: 1px solid rgba(0,0,0,0.2);
}
.popup-container.editor>div>div:last-child div{
text-shadow: none;
transition: all 0s;
position: static;
display: block;
}

View File

@ -1,30 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ACE in Action</title>
<style type="text/css" media="screen">
#editorx {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
</style>
</head>
<body>
<div id="editorx">function foo(items) {
var x = "All this is syntax highlighted";
return x;
}</div>
<script src="game/ace.js" type="text/javascript" charset="utf-8"></script>
<script>
var editor = ace.edit("editorx");
editor.setTheme("ace/theme/chrome");
editor.getSession().setUseWorker(false);
editor.getSession().setMode("ace/mode/javascript");
</script>
</body>
</html>