From 656903d0b51625df0788eb17ff3204c12dcc94b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Wed, 14 May 2025 22:17:39 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E9=BB=8F=E6=80=A7?= =?UTF-8?q?=E5=AE=9A=E4=BD=8D=E5=BC=80=E5=85=B3=EF=BC=9B=202=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=95=8C=E9=9D=A2=E5=B7=A6=E4=B8=8A=E8=A7=92?= =?UTF-8?q?=E9=A2=9D=E5=A4=96=E5=A2=9E=E5=8A=A0=E5=8F=96=E6=B6=88=E6=8C=89?= =?UTF-8?q?=E9=92=AE=EF=BC=9B=203=E3=80=81=E7=BC=96=E8=BE=91=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=BA=9B=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E6=BD=9C=E8=A7=89=E7=9A=84=E5=9C=B0=E6=96=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- languages/en.css | 3 ++ languages/ja.css | 3 ++ languages/ko.css | 3 ++ languages/zh-hans.css | 3 ++ languages/zh-hant.css | 3 ++ multi.html | 9 +++-- script.js | 79 ++++++++++++++++++++++++------------------- service-worker.js | 20 +++++------ solo.html | 9 ++--- style.css | 22 +++++++++--- triple.html | 9 +++-- 11 files changed, 101 insertions(+), 62 deletions(-) diff --git a/languages/en.css b/languages/en.css index b0ddb604..a8f792e8 100644 --- a/languages/en.css +++ b/languages/en.css @@ -220,6 +220,9 @@ label[for="screenshot-transparent"]::after{ label[for="use-side-mode"]::after{ content:"Use side mode in edit interface"; } +label[for="use-sticky"]::after{ + content:"Use sticky position in edit interface"; +} label[for="show-card-id"]::after{ content:"Card's ID"; } diff --git a/languages/ja.css b/languages/ja.css index 218d4c4b..f0022ca2 100644 --- a/languages/ja.css +++ b/languages/ja.css @@ -219,6 +219,9 @@ label[for="screenshot-transparent"]::after{ label[for="use-side-mode"]::after{ content:"編集画面でサイドバーモードを使用"; } +label[for="use-sticky"]::after{ + content:"編集画面でスティッキー位置を使用する"; +} label[for="show-card-id"]::after{ content:"カード番号"; } diff --git a/languages/ko.css b/languages/ko.css index dabb155b..fa3edb18 100644 --- a/languages/ko.css +++ b/languages/ko.css @@ -215,6 +215,9 @@ label[for="screenshot-transparent"]::after{ label[for="use-side-mode"]::after{ content:"편집 인터페이스에서 사이드바 모드 사용"; } +label[for="use-sticky"]::after{ + content:"편집 인터페이스에서 스티키 포지셔닝 사용"; +} label[for="show-card-id"]::after{ content:"카드 ID"; } diff --git a/languages/zh-hans.css b/languages/zh-hans.css index 644388f9..923bc8a1 100644 --- a/languages/zh-hans.css +++ b/languages/zh-hans.css @@ -221,6 +221,9 @@ label[for="screenshot-transparent"]::after{ label[for="use-side-mode"]::after{ content:"编辑界面使用侧栏模式"; } +label[for="use-sticky"]::after{ + content:"编辑界面使用黏性定位"; +} label[for="show-card-id"]::after{ content:"卡片ID"; } diff --git a/languages/zh-hant.css b/languages/zh-hant.css index 1c67fbca..747ecbb8 100644 --- a/languages/zh-hant.css +++ b/languages/zh-hant.css @@ -221,6 +221,9 @@ label[for="screenshot-transparent"]::after{ label[for="use-side-mode"]::after{ content:"編輯界面使用側欄模式"; } +label[for="use-sticky"]::after{ + content:"編輯界面使用黏性定位"; +} label[for="show-card-id"]::after{ content:"卡片ID"; } diff --git a/multi.html b/multi.html index 8503cc61..4210d5d6 100644 --- a/multi.html +++ b/multi.html @@ -74,16 +74,15 @@ const teamsCount = 2;
- - - - + +
- + +
diff --git a/script.js b/script.js index b7a159d1..8e55609e 100644 --- a/script.js +++ b/script.js @@ -2697,23 +2697,26 @@ function initialize() { //设定初始的显示设置 //初始化开关 function initializeSwitch(checkbox) { - //开关设置的快速保存 - function switchFastSave(event) { - document.body.classList.toggle(this.id, this.checked); - if (event instanceof Event) localStorage.setItem(cfgPrefix + this.id, Number(this.checked)); - } if (!checkbox) return; checkbox.onchange = switchFastSave; - checkbox.checked = localStorage_getBoolean(cfgPrefix + checkbox.id, true); + checkbox.checked = localStorage_getBoolean(cfgPrefix + checkbox.id, Boolean(Number(checkbox.dataset.default ?? 1))); checkbox.onchange(false); return checkbox; } + //开关设置的快速保存 + function switchFastSave(event) { + if (!Boolean(Number(this.dataset.noClass))) + document.body.classList.toggle(this.id, this.checked); + if (event instanceof Event) + localStorage.setItem(cfgPrefix + this.id, Number(this.checked)); + } const displaySwitchList = Array.from(document.querySelectorAll(".config-display-list .switch-ipt")); displaySwitchList.push(...[ - // "screenshot-transparent", - // "change-swap-to-copy", + "screenshot-transparent", + "change-swap-to-copy", "use-side-mode", + "use-sticky", ].map(id=>document.getElementById(id)) ); displaySwitchList.forEach(initializeSwitch); @@ -5460,7 +5463,8 @@ function initialize() { awokenCountLabel.setAttribute(dataAttrName, value); awokenCountLabel.classList.toggle("full-awoken", value > 0 && value == card?.awakenings?.length); - reCalculateAbility(); + editBox.reCalculateAbility(); //重计算三维 + editBox.refreshLatent(); //刷新潜觉 } monEditAwokens.forEach(akDom => akDom.onclick = checkAwoken); @@ -5478,7 +5482,9 @@ function initialize() { const mSAwokenIcon = monEditOuterAwokensRow.querySelector("#current-super-awoken-icon"); mSAwokenIcon.onclick = function(){ this.setAttribute("data-awoken-icon", 0); - reCalculateAbility(); + + editBox.reCalculateAbility(); //重计算三维 + editBox.refreshLatent(); //刷新潜觉 } //3个快速设置this.ipt为自己的value @@ -5491,8 +5497,9 @@ function initialize() { //等级 const monEditLv = settingBox.querySelector(".m-level"); monEditLv.onchange = function() { - reCalculateExp(); - reCalculateAbility(); + editBox.reCalculateExp(); + editBox.reCalculateAbility(); //重计算三维 + editBox.refreshLatent(); //刷新潜觉 }; const monEditLvMin = settingBox.querySelector(".m-level-btn-min"); const monLvExp = settingBox.querySelector(".m-level-exp"); @@ -5555,8 +5562,8 @@ function initialize() { monEditLatentAllowableDetail.onclick = function(event) { if (event instanceof Event) localStorage.setItem(cfgPrefix + 'hide-latent', Number(!this.open)); } - editBox.refreshLatent = function(latent, monid) {//刷新潜觉 - refreshLatent(latent, new Member(monid), monEditLatentUl); + editBox.refreshLatent = function() {//刷新潜觉 + refreshLatent(this.latent, this.getCurrentMember(), monEditLatentUl); }; const rowSkill = settingBox.querySelector(".row-mon-skill"); @@ -5640,7 +5647,7 @@ function initialize() { { editBox.latent.splice(aIdx, 1); editBox.reCalculateAbility(); //重计算三维 - editBox.refreshLatent(editBox.latent, editBox.mid); //刷新潜觉 + editBox.refreshLatent(); //刷新潜觉 } } monEditLatents.forEach(la => la.onclick = deleteLatent); @@ -5658,7 +5665,7 @@ function initialize() { return; editBox.reCalculateAbility(); - editBox.refreshLatent(editBox.latent, editBox.mid); + editBox.refreshLatent(); } monEditLatentsAllowable.forEach(la => la.onclick = addLatent); @@ -5697,6 +5704,7 @@ function initialize() { editBox.reCalculateAbility = reCalculateAbility; const btnCancel = editBox.querySelector(".button-cancel"); + const btnClose = editBox.querySelector(".edit-box-title .mask-close"); const btnDone = editBox.querySelector(".button-done"); const btnNull = editBox.querySelector(".button-null"); const btnDelay = editBox.querySelector(".button-delay"); @@ -5706,23 +5714,13 @@ function initialize() { editBox.memberIdx = []; editBox.hide(); }; - btnDone.onclick = function() { - if (parseInt(monEditLv.value, 10) == 0) { - btnNull.onclick(); - return; - } + btnClose.onclick = btnCancel.onclick; + editBox.getCurrentMember = function(){ const mon = editBox.isAssist ? new MemberAssist() : new MemberTeam(); - const [teamIdx, isAssist, memberIdx] = editBox.memberIdx; - const teamData = formation.teams[teamIdx]; - const teamBigBox = teamBigBoxs[teamIdx]; - const teamBox = teamBigBox.querySelector(".team-box"); - mon.id = editBox.mid; const card = mon.card || Cards[0]; const skill = Skills[card.activeSkillId]; - mon.level = parseInt(monEditLv.value, 10); - const mAwokenNumIpt = monEditAwokensRow.querySelector("input[name='awoken-number']:checked"); mon.awoken = mAwokenNumIpt ? parseInt(mAwokenNumIpt.value, 10) : 0; if (card.superAwakenings.length) //如果支持超觉醒 @@ -5746,7 +5744,19 @@ function initialize() { if (skillLevelNum < skill.maxLevel) { mon.skilllevel = skillLevelNum; } + return mon; + } + btnDone.onclick = function() { + if (parseInt(monEditLv.value, 10) == 0) { + btnNull.onclick(); + return; + } + const [teamIdx, isAssist, memberIdx] = editBox.memberIdx; + const teamData = formation.teams[teamIdx]; + // const teamBigBox = teamBigBoxs[teamIdx]; + // const teamBox = teamBigBox.querySelector(".team-box"); + const mon = editBox.getCurrentMember(); teamData[isAssist][memberIdx] = mon; refreshAll(formation); @@ -6191,17 +6201,17 @@ function editMember(teamNum, isAssist, indexInTeam) { const btnDelay = editBox.querySelector(".button-box .button-delay"); if (!isAssist) { editBox.latent = mon.latent ? mon.latent.concat() : []; - editBox.refreshLatent(editBox.latent, mon.id); } rowMonLatent.classList.toggle(className_displayNone, isAssist);; editBoxTitle.classList.toggle("edit-box-title-assist", isAssist);; btnDelay.classList.toggle(className_displayNone, !isAssist);; - - editBox.reCalculateExp(); + if (mon.awoken !== undefined && monEditAwokens[mon.awoken]) monEditAwokens[mon.awoken].click(); //涉及到觉醒数字的显示,所以需要点一下 - else - editBox.reCalculateAbility(); + + editBox.reCalculateExp(); + editBox.reCalculateAbility(); + editBox.refreshLatent(); //自动选中ID狂,以方便修改 //monstersID.focus(); @@ -6360,6 +6370,7 @@ function editBoxChangeMonId(id) { // } // } editBox.reCalculateAbility(); + editBox.refreshLatent(); //刷新潜觉 } //怪物没有超觉醒时隐藏超觉醒 const monEditCurrentSAwokenRow = monEditOuterAwokensRow.querySelector(".current-super-awoken"); @@ -6493,7 +6504,7 @@ function editBoxChangeMonId(id) { //去除所有不能再打的潜觉 editBox.latent = editBox.latent.filter(lat => allowLatent.includes(lat)); - editBox.refreshLatent(editBox.latent, id); + editBox.refreshLatent(); editBox.reCalculateExp(); editBox.reCalculateAbility(); } diff --git a/service-worker.js b/service-worker.js index d338b175..4b2b792f 100644 --- a/service-worker.js +++ b/service-worker.js @@ -48267,7 +48267,7 @@ const cachesMap = new Map([ ], [ "multi.html", - "464f3861e773979998d6fb98428af666" + "4dc8cd2afb23f7b42f7796bd88365a8e" ], [ "script-custom_elements.js", @@ -48287,11 +48287,11 @@ const cachesMap = new Map([ ], [ "script.js", - "b471d517217cef5c4ea2459cfae21b28" + "ce3ec6865c12a5415c589d8d1bfbfaae" ], [ "solo.html", - "7430477da7cf8ff47951400f7152b8a1" + "a9bca8e47616043f5c62851d3dc456e1" ], [ "style-fix-html2canvas.css", @@ -48303,7 +48303,7 @@ const cachesMap = new Map([ ], [ "style.css", - "9fe95f6bea2b9f29d1157cb6a625a4c6" + "5e09384e7d8e3bfd20885455bacc2c7a" ], [ "temp.js", @@ -48311,11 +48311,11 @@ const cachesMap = new Map([ ], [ "triple.html", - "ab8237be0d312096c54ed25859aa02fa" + "4cf1fb7c421aa5ec74b2610bdb1878bf" ], [ "languages/en.css", - "44feff889ee52648f53d2af42e99f78e" + "c1d5aca45b5b4379a2a553070b8852e9" ], [ "languages/en.js", @@ -48323,7 +48323,7 @@ const cachesMap = new Map([ ], [ "languages/ja.css", - "9a6f16441b0e47be39d397e9e6a5e296" + "9435ea1636e9a8389502a7ce07d23caa" ], [ "languages/ja.js", @@ -48331,7 +48331,7 @@ const cachesMap = new Map([ ], [ "languages/ko.css", - "c0b7a6ffbe89d0936733c1214f99b5ae" + "9f2052af52e181a383c3ea25477649fd" ], [ "languages/ko.js", @@ -48343,7 +48343,7 @@ const cachesMap = new Map([ ], [ "languages/zh-hans.css", - "46bfd4418135b078788094f749e33373" + "e236d607e29f36710817a2a3b27a5c8a" ], [ "languages/zh-hans.js", @@ -48351,7 +48351,7 @@ const cachesMap = new Map([ ], [ "languages/zh-hant.css", - "6d01e57287e6a77c1511bdc4fcfdce91" + "6be62563e13e5263c704432960e2c41e" ], [ "languages/zh-hant.js", diff --git a/solo.html b/solo.html index 95242ba3..682e2eab 100644 --- a/solo.html +++ b/solo.html @@ -54,14 +54,15 @@ const teamsCount = 1;
- - + +
- + +
@@ -560,7 +561,7 @@ const teamsCount = 1;
- - - - + +
- + +