hide casing from picker when hidden
This commit is contained in:
parent
8515e21ea9
commit
4d6c0f990d
|
|
@ -31,6 +31,9 @@ function buildBlockPicker() {
|
||||||
if (!filter.test(...tooltipDataToPlain(tooltipData))) {
|
if (!filter.test(...tooltipDataToPlain(tooltipData))) {
|
||||||
item.classList.add("hidden");
|
item.classList.add("hidden");
|
||||||
}
|
}
|
||||||
|
if (tooltipData.some(v => v.type === "meta" && v.casing)) {
|
||||||
|
item.dataset.casing = "";
|
||||||
|
}
|
||||||
item.appendChild(makeAtlasImage(m.index));
|
item.appendChild(makeAtlasImage(m.index));
|
||||||
item.addEventListener("click", blockPickerClickEvent);
|
item.addEventListener("click", blockPickerClickEvent);
|
||||||
grid.addItem(item);
|
grid.addItem(item);
|
||||||
|
|
@ -83,6 +86,10 @@ function* getBlockTooltip(metadata) {
|
||||||
if ("nuclearcraft:overhaul_sfr:casing" in data.modules) {
|
if ("nuclearcraft:overhaul_sfr:casing" in data.modules) {
|
||||||
hasAdditionalData = true;
|
hasAdditionalData = true;
|
||||||
yield "Casing";
|
yield "Casing";
|
||||||
|
yield {
|
||||||
|
type: "meta",
|
||||||
|
casing: true,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("nuclearcraft:overhaul_sfr:controller" in data.modules) {
|
if ("nuclearcraft:overhaul_sfr:controller" in data.modules) {
|
||||||
|
|
@ -114,6 +121,13 @@ function* getBlockTooltip(metadata) {
|
||||||
yield "Conductor";
|
yield "Conductor";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ("nuclearcraft:overhaul_sfr:neutron_source" in data.modules) {
|
||||||
|
hasAdditionalData = true;
|
||||||
|
const neutronSource = data.modules["nuclearcraft:overhaul_sfr:neutron_source"];
|
||||||
|
yield "Neutron Source";
|
||||||
|
yield `Efficiency: ${neutronSource.efficiency}`;
|
||||||
|
}
|
||||||
|
|
||||||
if ("nuclearcraft:overhaul_sfr:moderator" in data.modules) {
|
if ("nuclearcraft:overhaul_sfr:moderator" in data.modules) {
|
||||||
hasAdditionalData = true;
|
hasAdditionalData = true;
|
||||||
const moderator = data.modules["nuclearcraft:overhaul_sfr:moderator"];
|
const moderator = data.modules["nuclearcraft:overhaul_sfr:moderator"];
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,9 @@ export async function loadConfiguration(event) {
|
||||||
export async function processConfiguration(data) {
|
export async function processConfiguration(data) {
|
||||||
emitEvent("config:process:start");
|
emitEvent("config:process:start");
|
||||||
|
|
||||||
console.log(data);
|
data = configurationDatafixer(data);
|
||||||
|
|
||||||
|
console.log("Configuration: ", data);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await buildAtlas(data);
|
await buildAtlas(data);
|
||||||
|
|
@ -75,3 +77,16 @@ export async function processConfiguration(data) {
|
||||||
|
|
||||||
emitEvent("config:process:end");
|
emitEvent("config:process:end");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function configurationDatafixer(data, options = {}) {
|
||||||
|
if (!options.dontSetSFRCasingForPorts) {
|
||||||
|
for (const block of data.configuration["nuclearcraft:overhaul_sfr"].blocks) {
|
||||||
|
if (block.modules["nuclearcraft:overhaul_sfr:port"] && !block.modules["nuclearcraft:overhaul_sfr:casing"]) {
|
||||||
|
block.modules["nuclearcraft:overhaul_sfr:casing"] = {
|
||||||
|
edge: false,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,9 @@ const zoomOptions = [ 0.5, 1, 2, 3, 4, 5 ];
|
||||||
const zoomDefault = 2;
|
const zoomDefault = 2;
|
||||||
const zoomStorageKey = "zoom-size";
|
const zoomStorageKey = "zoom-size";
|
||||||
|
|
||||||
|
const casingStorageKey = "casing";
|
||||||
|
const casingDefault = false; // hidden by default
|
||||||
|
|
||||||
const defaultMultiblockSize = [9, 7, 9]; // width (screen x), height (xy grids), depth (screen y)
|
const defaultMultiblockSize = [9, 7, 9]; // width (screen x), height (xy grids), depth (screen y)
|
||||||
const defaultMultiblockType = "nuclearcraft:overhaul_sfr";
|
const defaultMultiblockType = "nuclearcraft:overhaul_sfr";
|
||||||
const maxMultiblockSize = {
|
const maxMultiblockSize = {
|
||||||
|
|
@ -25,9 +28,13 @@ let multiblockType = defaultMultiblockType;
|
||||||
registerLoadCallback(() => {
|
registerLoadCallback(() => {
|
||||||
listenTo("config:end", buildPlanner);
|
listenTo("config:end", buildPlanner);
|
||||||
|
|
||||||
|
const casingShow = recall(casingStorageKey, casingDefault);
|
||||||
|
document.body.dataset.casing = casingShow ? "show" : "hide";
|
||||||
|
getElements("toggle", "planner:toggle-casing")
|
||||||
|
.forEach(e => e.dataset.toggled = casingShow.toString());
|
||||||
listenTo("planner:toggle-casing", e => {
|
listenTo("planner:toggle-casing", e => {
|
||||||
const planner = document.getElementById("planner");
|
save(casingStorageKey, e.detail.state);
|
||||||
planner.dataset.casing = e.detail.state ? "show" : "hide";
|
document.body.dataset.casing = e.detail.state ? "show" : "hide";
|
||||||
});
|
});
|
||||||
|
|
||||||
const zoomLevel = recall(zoomStorageKey, zoomDefault);
|
const zoomLevel = recall(zoomStorageKey, zoomDefault);
|
||||||
|
|
@ -92,7 +99,6 @@ function buildPlanner(textures) {
|
||||||
if (!Array.isArray(textures)) textures = undefined;
|
if (!Array.isArray(textures)) textures = undefined;
|
||||||
|
|
||||||
const planner = document.getElementById("planner");
|
const planner = document.getElementById("planner");
|
||||||
planner.dataset.casing = "hide";
|
|
||||||
|
|
||||||
const list = new DomList(planner);
|
const list = new DomList(planner);
|
||||||
list.clear();
|
list.clear();
|
||||||
|
|
|
||||||
|
|
@ -150,6 +150,9 @@ function createTooltipDom(id) {
|
||||||
rowElem.classList.add("tooltip--item");
|
rowElem.classList.add("tooltip--item");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "meta":
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
console.warn("unknown tooltip type", row);
|
console.warn("unknown tooltip type", row);
|
||||||
break;
|
break;
|
||||||
|
|
@ -172,6 +175,7 @@ export function tooltipDataToPlain(data) {
|
||||||
if (!row.type) return [];
|
if (!row.type) return [];
|
||||||
if (row.text) return row.text;
|
if (row.text) return row.text;
|
||||||
if (row.type === "item") return row.name;
|
if (row.type === "item") return row.name;
|
||||||
|
if (row.type === "meta") return [];
|
||||||
return [];
|
return [];
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -240,7 +240,7 @@ input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
|
||||||
calc(var(--scale-factor) * var(--size-x, var(--default-size)) * 0.4);
|
calc(var(--scale-factor) * var(--size-x, var(--default-size)) * 0.4);
|
||||||
background-color: var(--highlight-color, #f808);
|
background-color: var(--highlight-color, #f808);
|
||||||
}
|
}
|
||||||
[data-casing="hide"] > * {
|
[data-casing="hide"] #planner > * {
|
||||||
--width-override: calc(var(--width) - 2);
|
--width-override: calc(var(--width) - 2);
|
||||||
}
|
}
|
||||||
[data-casing="hide"] [data-casing] {
|
[data-casing="hide"] [data-casing] {
|
||||||
|
|
@ -303,7 +303,7 @@ input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
|
||||||
position: static;
|
position: static;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
max-height: calc(var(--scale-factor) * var(--recipe-select-item-count, 4));
|
max-height: calc(var(--scale-factor) * var(--default-size) * var(--recipe-select-item-count, 8));
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
border: 1px solid var(--recipe-select-border-color, #444);
|
border: 1px solid var(--recipe-select-border-color, #444);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue