pop32
This commit is contained in:
parent
9200a14118
commit
b4ab9030fb
@ -61,8 +61,8 @@ export async function loadWohnhaus() {
|
|||||||
await loadEquipment();
|
await loadEquipment();
|
||||||
|
|
||||||
initDrag();
|
initDrag();
|
||||||
initDrop();
|
|
||||||
initSlotDrag();
|
initSlotDrag();
|
||||||
|
initDrop();
|
||||||
initInventoryDrop();
|
initInventoryDrop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,11 +81,11 @@ async function loadEquipment() {
|
|||||||
const label = slot.querySelector(".slot-label");
|
const label = slot.querySelector(".slot-label");
|
||||||
|
|
||||||
slot.innerHTML = `
|
slot.innerHTML = `
|
||||||
<img src="${item.icon}"
|
<img src="${item.icon}"
|
||||||
draggable="true"
|
draggable="true"
|
||||||
data-id="${item.item_id}"
|
data-id="${item.item_id}"
|
||||||
data-level="${item.item_level_id}">
|
data-level="${item.item_level_id}">
|
||||||
`;
|
`;
|
||||||
|
|
||||||
if (label) slot.appendChild(label);
|
if (label) slot.appendChild(label);
|
||||||
|
|
||||||
@ -176,21 +176,28 @@ function initDrop() {
|
|||||||
|
|
||||||
if (!itemSlot || itemSlot !== targetSlot) return;
|
if (!itemSlot || itemSlot !== targetSlot) return;
|
||||||
|
|
||||||
const icon =
|
/* Icon bestimmen */
|
||||||
source === "inventory"
|
|
||||||
? document.querySelector(
|
|
||||||
'.inventory-slot[data-id="' + itemId + '"] img',
|
|
||||||
).src
|
|
||||||
: document.querySelector('.slot[data-slot="' + itemSlot + '"] img')
|
|
||||||
.src;
|
|
||||||
|
|
||||||
/* Inventar Item entfernen */
|
let icon;
|
||||||
|
|
||||||
if (source === "inventory") {
|
if (source === "inventory") {
|
||||||
const inventoryItem = document.querySelector(
|
const inventoryItem = document.querySelector(
|
||||||
'.inventory-slot[data-id="' + itemId + '"]',
|
'.inventory-slot[data-id="' + itemId + '"]',
|
||||||
);
|
);
|
||||||
if (inventoryItem) inventoryItem.remove();
|
|
||||||
|
if (!inventoryItem) return;
|
||||||
|
|
||||||
|
icon = inventoryItem.querySelector("img").src;
|
||||||
|
|
||||||
|
inventoryItem.remove();
|
||||||
|
} else {
|
||||||
|
const slotItem = document.querySelector(
|
||||||
|
'.slot[data-slot="' + itemSlot + '"] img',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!slotItem) return;
|
||||||
|
|
||||||
|
icon = slotItem.src;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vorhandenes Item zurück ins Inventar */
|
/* vorhandenes Item zurück ins Inventar */
|
||||||
@ -201,12 +208,13 @@ function initDrop() {
|
|||||||
const grid = document.getElementById("inventory-grid");
|
const grid = document.getElementById("inventory-grid");
|
||||||
|
|
||||||
const newItem = document.createElement("div");
|
const newItem = document.createElement("div");
|
||||||
|
|
||||||
newItem.classList.add("inventory-slot");
|
newItem.classList.add("inventory-slot");
|
||||||
newItem.setAttribute("draggable", "true");
|
newItem.setAttribute("draggable", "true");
|
||||||
|
|
||||||
newItem.dataset.id = existing.dataset.id;
|
newItem.dataset.id = existing.dataset.id;
|
||||||
newItem.dataset.level = existing.dataset.level;
|
newItem.dataset.level = existing.dataset.level;
|
||||||
newItem.dataset.slot = slot.dataset.slot;
|
newItem.dataset.slot = targetSlot;
|
||||||
|
|
||||||
newItem.innerHTML = `<img src="${existing.src}">`;
|
newItem.innerHTML = `<img src="${existing.src}">`;
|
||||||
|
|
||||||
@ -248,15 +256,18 @@ function initInventoryDrop() {
|
|||||||
grid.addEventListener("drop", (e) => {
|
grid.addEventListener("drop", (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
const itemId = e.dataTransfer.getData("itemId");
|
|
||||||
const itemLevel = e.dataTransfer.getData("itemLevel");
|
|
||||||
const slotName = e.dataTransfer.getData("slot");
|
|
||||||
const source = e.dataTransfer.getData("source");
|
const source = e.dataTransfer.getData("source");
|
||||||
|
|
||||||
if (source !== "slot") return;
|
if (source !== "slot") return;
|
||||||
|
|
||||||
|
const itemId = e.dataTransfer.getData("itemId");
|
||||||
|
const itemLevel = e.dataTransfer.getData("itemLevel");
|
||||||
|
const slotName = e.dataTransfer.getData("slot");
|
||||||
|
|
||||||
const slot = document.querySelector('.slot[data-slot="' + slotName + '"]');
|
const slot = document.querySelector('.slot[data-slot="' + slotName + '"]');
|
||||||
|
|
||||||
const img = slot.querySelector("img");
|
const img = slot.querySelector("img");
|
||||||
|
|
||||||
if (!img) return;
|
if (!img) return;
|
||||||
|
|
||||||
const newItem = document.createElement("div");
|
const newItem = document.createElement("div");
|
||||||
@ -272,9 +283,12 @@ function initInventoryDrop() {
|
|||||||
|
|
||||||
grid.appendChild(newItem);
|
grid.appendChild(newItem);
|
||||||
|
|
||||||
|
/* Slot leeren */
|
||||||
|
|
||||||
const label = slot.querySelector(".slot-label");
|
const label = slot.querySelector(".slot-label");
|
||||||
|
|
||||||
slot.innerHTML = "";
|
slot.innerHTML = "";
|
||||||
|
|
||||||
if (label) slot.appendChild(label);
|
if (label) slot.appendChild(label);
|
||||||
|
|
||||||
slot.classList.remove("has-item");
|
slot.classList.remove("has-item");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user