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

View File

@ -21451,6 +21451,7 @@
createModeConfig(i,start.firstChild);
}
(function(){
if(!game.download) return;
var page=ui.create.div('#create-extension');
var node=ui.create.div('.menubutton.large','制作扩展',start.firstChild,clickMode);
node.link=page;
@ -21485,14 +21486,15 @@
exportExtLine.querySelectorAll('span')[1].onclick=function(){
exportExtLine.style.display='none';
};
var dashboard=ui.create.div('#extension-dashboard',pageboard);
var dashboard=ui.create.div(pageboard);
var clickDash=function(){
pageboard.hide();
this.link.show();
};
var createDash=function(str1,str2,node){
var dash=ui.create.div('.menubutton.large.dashboard');
dashboard.appendChild(dash);
page.appendChild(node);
var dash=ui.create.div('.menubutton.large',dashboard);
dash.link=node;
dash.listen(clickDash);
ui.create.div('',str1,dash);
@ -21644,11 +21646,63 @@
var dash3=ui.create.div('.hidden',page);
var dash4=(function(){
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();
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;
}());
createDash('将','编辑武将',dash1);

View File

@ -12,7 +12,11 @@ body{
text-rendering:optimizeLegibility;
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;}
/*--------场景--------*/
@ -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>#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 .noclick_click_important div{pointer-events: auto !important}

View File

@ -708,22 +708,23 @@
top:0;
}
#extension-dashboard>.menubutton.large{
.menubutton.large.dashboard{
width: 80px;
height: 80px;
margin: 6px;
position: relative !important;
}
#extension-dashboard>.menubutton.large>div:first-child{
.menubutton.large.dashboard>div:first-child{
font-family: 'lishu','xiaozhuan';
font-size: 60px;
line-height: 60px;
position: absolute;
left: 0;
top: 10px;
top: 7px;
width: 100%;
height: 60px;
}
#extension-dashboard>.menubutton.large>div:last-child{
.menubutton.large.dashboard>div:last-child{
font-size: 18px;
position: absolute;
left: 0;
@ -732,6 +733,8 @@
}
#create-extension{
height: calc(100% - 5px);
width: calc(100% - 10px);
overflow: hidden;
}
#create-extension>div{
position: absolute;
@ -744,11 +747,17 @@
#create-extension>.menu-buttons{
left:10px;
height: calc(100% - 5px);
width: calc(100% - 15px) !important;
}
#create-extension>.menu-buttons>.config.more{
margin-left: 0px !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{
pointer-events: none;
}
@ -766,3 +775,42 @@
margin-right: 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>