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

View File

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