diff --git a/game.js b/game.js index 6f82f1a..42618bb 100644 --- a/game.js +++ b/game.js @@ -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 = () => { diff --git a/index.html b/index.html index 422a27b..a57c073 100644 --- a/index.html +++ b/index.html @@ -93,6 +93,6 @@ - +