pref: format @/mode.

This commit is contained in:
Rintim 2024-04-16 02:46:41 +08:00
parent 230b6a9088
commit 6a82aecbe0
No known key found for this signature in database
GPG Key ID: BE9E1EA615BACFCF
12 changed files with 63286 additions and 51507 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,67 +1,75 @@
'use strict'; "use strict";
game.import('mode',function(lib,game,ui,get,ai,_status){ game.import("mode", function (lib, game, ui, get, ai, _status) {
return { return {
name:'connect', name: "connect",
start: function () { start: function () {
var directstartmode = lib.config.directstartmode; var directstartmode = lib.config.directstartmode;
ui.create.menu(true); ui.create.menu(true);
event.textnode=ui.create.div('','输入联机地址'); event.textnode = ui.create.div("", "输入联机地址");
var createNode = function () { var createNode = function () {
if (event.created) return; if (event.created) return;
if (directstartmode && lib.node) { if (directstartmode && lib.node) {
ui.exitroom=ui.create.system('退出房间',function(){ ui.exitroom = ui.create.system(
game.saveConfig('directstartmode'); "退出房间",
function () {
game.saveConfig("directstartmode");
game.reload(); game.reload();
},true); },
true
);
game.switchMode(directstartmode); game.switchMode(directstartmode);
return; return;
} }
if (lib.node && window.require) { if (lib.node && window.require) {
ui.startServer=ui.create.system('启动服务器',function(e){ ui.startServer = ui.create.system(
"启动服务器",
function (e) {
ui.click.shortcut(false); ui.click.shortcut(false);
e.stopPropagation(); e.stopPropagation();
ui.click.connectMenu(); ui.click.connectMenu();
},true); },
true
);
} }
event.created = true; event.created = true;
var node=ui.create.div('.shadowed'); var node = ui.create.div(".shadowed");
node.style.width='400px'; node.style.width = "400px";
node.style.height='30px'; node.style.height = "30px";
node.style.lineHeight='30px'; node.style.lineHeight = "30px";
node.style.fontFamily='xinwei'; node.style.fontFamily = "xinwei";
node.style.fontSize='30px'; node.style.fontSize = "30px";
node.style.padding='10px'; node.style.padding = "10px";
node.style.left='calc(50% - 210px)'; node.style.left = "calc(50% - 210px)";
node.style.top='calc(50% - 20px)'; node.style.top = "calc(50% - 20px)";
node.style.whiteSpace='nowrap'; node.style.whiteSpace = "nowrap";
node.textContent = lib.config.last_ip || lib.hallURL; node.textContent = lib.config.last_ip || lib.hallURL;
node.contentEditable = true; node.contentEditable = true;
node.style.webkitUserSelect='text'; node.style.webkitUserSelect = "text";
node.style.textAlign='center'; node.style.textAlign = "center";
node.style.overflow='hidden'; node.style.overflow = "hidden";
var connect = function (e) { var connect = function (e) {
event.textnode.textContent='正在连接...'; event.textnode.textContent = "正在连接...";
clearTimeout(event.timeout); clearTimeout(event.timeout);
if (e) e.preventDefault(); if (e) e.preventDefault();
game.saveConfig('last_ip',node.textContent); game.saveConfig("last_ip", node.textContent);
game.connect(node.textContent, function (success) { game.connect(node.textContent, function (success) {
if (success) { if (success) {
var info = lib.config.reconnect_info; var info = lib.config.reconnect_info;
if (info && info[0] == _status.ip) { if (info && info[0] == _status.ip) {
game.onlineID = info[1]; game.onlineID = info[1];
if(typeof (game.roomId=info[2])=='string') game.roomIdServer=true; if (typeof (game.roomId = info[2]) == "string") game.roomIdServer = true;
} }
return; return;
} }
if (event.textnode) { if (event.textnode) {
alert('连接失败'); alert("连接失败");
event.textnode.textContent='输入联机地址'; event.textnode.textContent = "输入联机地址";
} }
}); });
}; };
node.addEventListener('keydown',function(e){ node.addEventListener("keydown", function (e) {
if (e.keyCode == 13) { if (e.keyCode == 13) {
connect(e); connect(e);
} }
@ -70,113 +78,131 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
ui.ipnode = node; ui.ipnode = node;
var text = event.textnode; var text = event.textnode;
text.style.width='400px'; text.style.width = "400px";
text.style.height='30px'; text.style.height = "30px";
text.style.lineHeight='30px'; text.style.lineHeight = "30px";
text.style.fontFamily='xinwei'; text.style.fontFamily = "xinwei";
text.style.fontSize='30px'; text.style.fontSize = "30px";
text.style.padding='10px'; text.style.padding = "10px";
text.style.left='calc(50% - 200px)'; text.style.left = "calc(50% - 200px)";
text.style.top='calc(50% - 80px)'; text.style.top = "calc(50% - 80px)";
text.style.textAlign='center'; text.style.textAlign = "center";
ui.window.appendChild(text); ui.window.appendChild(text);
ui.iptext = text; ui.iptext = text;
var button=ui.create.div('.menubutton.highlight.large.pointerdiv','连接',connect); var button = ui.create.div(".menubutton.highlight.large.pointerdiv", "连接", connect);
button.style.width='70px'; button.style.width = "70px";
button.style.left='calc(50% - 35px)'; button.style.left = "calc(50% - 35px)";
button.style.top='calc(50% + 60px)'; button.style.top = "calc(50% + 60px)";
ui.window.appendChild(button); ui.window.appendChild(button);
ui.ipbutton = button; ui.ipbutton = button;
ui.hall_button=ui.create.system('联机大厅',function(){ ui.hall_button = ui.create.system(
node.textContent=get.config('hall_ip')||lib.hallURL; "联机大厅",
function () {
node.textContent = get.config("hall_ip") || lib.hallURL;
connect(); connect();
},true); },
if(!get.config('hall_button')){ true
ui.hall_button.style.display='none'; );
if (!get.config("hall_button")) {
ui.hall_button.style.display = "none";
} }
ui.recentIP=ui.create.system('最近连接',null,true); ui.recentIP = ui.create.system("最近连接", null, true);
var clickLink = function () { var clickLink = function () {
node.textContent = this.textContent; node.textContent = this.textContent;
connect(); connect();
}; };
lib.setPopped(ui.recentIP,function(){ lib.setPopped(
ui.recentIP,
function () {
if (!lib.config.recentIP.length) return; if (!lib.config.recentIP.length) return;
var uiintro=ui.create.dialog('hidden'); var uiintro = ui.create.dialog("hidden");
uiintro.listen(function (e) { uiintro.listen(function (e) {
e.stopPropagation(); e.stopPropagation();
}); });
var list=ui.create.div('.caption'); var list = ui.create.div(".caption");
for (var i = 0; i < lib.config.recentIP.length; i++) { for (var i = 0; i < lib.config.recentIP.length; i++) {
ui.create.div('.text.textlink',list,clickLink).textContent=get.trimip(lib.config.recentIP[i]); ui.create.div(".text.textlink", list, clickLink).textContent = get.trimip(
lib.config.recentIP[i]
);
} }
uiintro.add(list); uiintro.add(list);
var clear = uiintro.add('<div class="text center">清除</div>'); var clear = uiintro.add('<div class="text center">清除</div>');
clear.style.paddingTop = 0; clear.style.paddingTop = 0;
clear.style.paddingBottom='3px'; clear.style.paddingBottom = "3px";
clear.listen(function () { clear.listen(function () {
lib.config.recentIP.length = 0; lib.config.recentIP.length = 0;
game.saveConfig('recentIP',[]); game.saveConfig("recentIP", []);
uiintro.delete(); uiintro.delete();
}); });
return uiintro; return uiintro;
},220); },
if (get.config('read_clipboard','connect')){ 220
);
if (get.config("read_clipboard", "connect")) {
var ced = false; var ced = false;
var read=text=>{ var read = (text) => {
try { try {
var text2=text.split('\n')[2]; var text2 = text.split("\n")[2];
var ip = text2.slice(5); var ip = text2.slice(5);
if(ip.length>0&&text2.startsWith("联机地址:")&&(ced||confirm('是否根据剪贴板的邀请链接以进入联机地址和房间?'))){ if (
ip.length > 0 &&
text2.startsWith("联机地址:") &&
(ced || confirm("是否根据剪贴板的邀请链接以进入联机地址和房间?"))
) {
node.innerHTML = ip; node.innerHTML = ip;
event.textnode.innerHTML='正在连接...'; event.textnode.innerHTML = "正在连接...";
clearTimeout(event.timeout); clearTimeout(event.timeout);
game.saveConfig('last_ip',node.innerHTML); game.saveConfig("last_ip", node.innerHTML);
game.connect(node.innerHTML, function (success) { game.connect(node.innerHTML, function (success) {
if (!success && event.textnode) { if (!success && event.textnode) {
alert('邀请链接解析失败'); alert("邀请链接解析失败");
event.textnode.innerHTML='输入联机地址'; event.textnode.innerHTML = "输入联机地址";
} }
if (success) _status.read_clipboard_text = text; if (success) _status.read_clipboard_text = text;
}); });
} }
}catch(e){console.log(e);} } catch (e) {
console.log(e);
} }
};
window.focus(); window.focus();
if (navigator.clipboard && lib.node) { if (navigator.clipboard && lib.node) {
navigator.clipboard.readText().then(read).catch(_=>{}); navigator.clipboard
.readText()
.then(read)
.catch((_) => {});
} else { } else {
var input=ui.create.node('textarea',ui.window,{opacity:'0'}); var input = ui.create.node("textarea", ui.window, { opacity: "0" });
input.select(); input.select();
var result=document.execCommand('paste'); var result = document.execCommand("paste");
input.blur(); input.blur();
ui.window.removeChild(input); ui.window.removeChild(input);
if (result || input.value.length > 0) read(input.value); if (result || input.value.length > 0) read(input.value);
else if(confirm('是否输入邀请链接以进入联机地址和房间?')){ else if (confirm("是否输入邀请链接以进入联机地址和房间?")) {
ced = true; ced = true;
var text=prompt('请输入邀请链接'); var text = prompt("请输入邀请链接");
if(typeof text=='string'&&text.length>0) read(text); if (typeof text == "string" && text.length > 0) read(text);
} }
} }
} }
lib.init.onfree(); lib.init.onfree();
} };
if (window.isNonameServer) { if (window.isNonameServer) {
game.connect(window.isNonameServerIp||'localhost'); game.connect(window.isNonameServerIp || "localhost");
} } else {
else{
createNode(); createNode();
} }
if (!game.onlineKey) { if (!game.onlineKey) {
game.onlineKey=localStorage.getItem(lib.configprefix+'key'); game.onlineKey = localStorage.getItem(lib.configprefix + "key");
if (!game.onlineKey) { if (!game.onlineKey) {
game.onlineKey = get.id(); game.onlineKey = get.id();
localStorage.setItem(lib.configprefix+'key',game.onlineKey); localStorage.setItem(lib.configprefix + "key", game.onlineKey);
} }
} }
_status.connectDenied = createNode; _status.connectDenied = createNode;
setTimeout(lib.init.onfree, 1000); setTimeout(lib.init.onfree, 1000);
} },
}; };
}); });

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,8 @@
'use strict'; "use strict";
game.import('mode',function(lib,game,ui,get,ai,_status){ game.import("mode", function (lib, game, ui, get, ai, _status) {
return { return {
name:'realtime', name: "realtime",
start:function(){ start: function () {},
}, game: {},
game:{
}
}; };
}); });

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff