fix: deselect items on second click, inventory toggle close, cache bust v22

This commit is contained in:
Mk 2026-05-26 14:04:55 +00:00
parent 0e12ed7a18
commit 2ee82a45b0
2 changed files with 27 additions and 17 deletions

42
game.js
View File

@ -1525,11 +1525,16 @@ function customConfirm(msg, onYes) {
s.appendChild(c);
s.onclick = () => {
playSound('click'); // Звук клика по инвентарю
selected=id;
// Обновляем список последних предметов
recentItems = recentItems.filter(item => item !== id); // Удаляем если уже есть
recentItems.unshift(id); // Добавляем в начало
recentItems = recentItems.slice(0, 5); // Оставляем только 5
if(selected === id) {
// Повторный клик — снимаем выбор, возвращаем к первому блоку
selected = recentItems.find(rid => BLOCKS[rid] && rid !== id) || recentItems[0] || 'dirt';
} else {
selected = id;
// Обновляем список последних предметов
recentItems = recentItems.filter(item => item !== id); // Удаляем если уже есть
recentItems.unshift(id); // Добавляем в начало
recentItems = recentItems.slice(0, 5); // Оставляем только 5
}
rebuildHotbar();
};
@ -1599,11 +1604,14 @@ function customConfirm(msg, onYes) {
slot.onclick = () => {
playSound('click'); // Звук клика по инвентарю
selected = id;
// Обновляем список последних предметов
recentItems = recentItems.filter(item => item !== id); // Удаляем если уже есть
recentItems.unshift(id); // Добавляем в начало
recentItems = recentItems.slice(0, 5); // Оставляем только 5
if(selected === id) {
selected = recentItems.find(rid => BLOCKS[rid] && rid !== id) || recentItems[0] || 'dirt';
} else {
selected = id;
recentItems = recentItems.filter(item => item !== id);
recentItems.unshift(id);
recentItems = recentItems.slice(0, 5);
}
rebuildHotbar();
renderInventory();
};
@ -1719,12 +1727,14 @@ function customConfirm(msg, onYes) {
// Кнопка открытия инвентаря
document.getElementById('invToggle').onclick = () => {
playSound('click'); // Звук клика по кнопке
inventoryOpen = true;
inventoryPanel.style.display = 'block';
renderInventory();
// Закрываем крафт если открыт инвентарь
craftOpen = false;
craftPanel.style.display = 'none';
inventoryOpen = !inventoryOpen;
inventoryPanel.style.display = inventoryOpen ? 'block' : 'none';
if(inventoryOpen) {
renderInventory();
// Закрываем крафт если открыт инвентарь
craftOpen = false;
craftPanel.style.display = 'none';
}
};
document.getElementById('inventoryClose').onclick = () => {

View File

@ -93,6 +93,6 @@
</div>
</div>
<script src="game.js?v=21"></script>
<script src="game.js?v=22"></script>
</body>
</html>