Fix draw interaction and add background click to clear selection
This commit is contained in:
parent
82b0c00585
commit
9a6aa261b0
15
pyramid.js
15
pyramid.js
@ -212,7 +212,8 @@
|
|||||||
const isTop = (i === waste.length - 1);
|
const isTop = (i === waste.length - 1);
|
||||||
el.style.top = `${wRect.top - boardTop + PILE_BORDER_WIDTH}px`;
|
el.style.top = `${wRect.top - boardTop + PILE_BORDER_WIDTH}px`;
|
||||||
el.style.left = `${wRect.left - boardLeft + PILE_BORDER_WIDTH}px`;
|
el.style.left = `${wRect.left - boardLeft + PILE_BORDER_WIDTH}px`;
|
||||||
el.style.zIndex = 50 + i;
|
// Base z-index for waste is 500, +i to stack correctly
|
||||||
|
el.style.zIndex = 500 + i;
|
||||||
el.classList.add('is-flipped');
|
el.classList.add('is-flipped');
|
||||||
el.classList.toggle('is-exposed', isTop);
|
el.classList.toggle('is-exposed', isTop);
|
||||||
});
|
});
|
||||||
@ -305,6 +306,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleStockClick() {
|
function handleStockClick() {
|
||||||
|
// Clear current selection when drawing/recycling
|
||||||
|
if (selectedCard) {
|
||||||
|
cardElements[selectedCard.id].classList.remove('is-selected');
|
||||||
|
selectedCard = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (stock.length > 0) {
|
if (stock.length > 0) {
|
||||||
const card = stock.pop();
|
const card = stock.pop();
|
||||||
card.faceUp = true;
|
card.faceUp = true;
|
||||||
@ -391,6 +398,12 @@
|
|||||||
handleCardClick(cardEl.dataset.id);
|
handleCardClick(cardEl.dataset.id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we click the board background but NOT a card or a pile, clear selection
|
||||||
|
if (selectedCard && !cardEl && !pileEl) {
|
||||||
|
cardElements[selectedCard.id].classList.remove('is-selected');
|
||||||
|
selectedCard = null;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
document.addEventListener('gameModeChanged', (e) => {
|
document.addEventListener('gameModeChanged', (e) => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user