sounds
This commit is contained in:
parent
c6ba3e38a2
commit
37087d08a7
189 changed files with 12864 additions and 9589 deletions
46
js/ui_tools.js
Normal file
46
js/ui_tools.js
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
"use strict";
|
||||
|
||||
const SCALABLE_TOOLS = new Set(scalableToolIds());
|
||||
|
||||
const SIZE_ORDER = ["small", "medium", "large"];
|
||||
|
||||
const SIZE_LABELS = { small: "\u5c0f", medium: "\u4e2d", large: "\u5927" };
|
||||
|
||||
function toolSizeFor(tool) {
|
||||
if (!SCALABLE_TOOLS.has(tool)) return "";
|
||||
return (world.toolSizes && world.toolSizes[tool]) || world.toolSize || "medium";
|
||||
}
|
||||
|
||||
function cycleToolSize(tool) {
|
||||
if (!SCALABLE_TOOLS.has(tool)) return false;
|
||||
if (!world.toolSizes) world.toolSizes = {};
|
||||
const current = toolSizeFor(tool);
|
||||
const idx = SIZE_ORDER.indexOf(current);
|
||||
const next = SIZE_ORDER[(idx + 1 + SIZE_ORDER.length) % SIZE_ORDER.length];
|
||||
world.toolSizes[tool] = next;
|
||||
world.toolSize = next;
|
||||
syncToolSizeBadges();
|
||||
showToast(`\u30b5\u30a4\u30ba: ${SIZE_LABELS[next] || next}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
function syncToolSizeBadges() {
|
||||
for (const btn of uiCache.toolButtons || []) {
|
||||
const tool = btn.dataset.tool || "";
|
||||
const old = btn.querySelector(".tool-size-badge");
|
||||
if (!SCALABLE_TOOLS.has(tool)) {
|
||||
btn.removeAttribute("data-size");
|
||||
if (old) old.remove();
|
||||
continue;
|
||||
}
|
||||
const size = toolSizeFor(tool);
|
||||
btn.dataset.size = size;
|
||||
let badge = old;
|
||||
if (!badge) {
|
||||
badge = document.createElement("b");
|
||||
badge.className = "tool-size-badge";
|
||||
btn.appendChild(badge);
|
||||
}
|
||||
badge.textContent = SIZE_LABELS[size] || size;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue