From 68faeb37277c5118661b7c997ece9e3aec654e45 Mon Sep 17 00:00:00 2001 From: Nathan Date: Thu, 10 Oct 2024 16:06:59 +0100 Subject: [PATCH] Add rightclick/contextmenu event handler --- public/board.js | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/public/board.js b/public/board.js index 453705a..dc20c75 100644 --- a/public/board.js +++ b/public/board.js @@ -401,7 +401,7 @@ class Board{ }); if(!canPlay){ - alert('Mana conditions not met'); + alert('Mana conditions not met, right click hand unit to play as mana'); return 0; } } @@ -658,6 +658,32 @@ board.playShieldOpponent(4); board.drawACard(3); +canvas.addEventListener('contextmenu', function(event) { + event.preventDefault(); + + let specialEvent = false; + if(inspectCard !== null || attackingCard !== null || gameWin){ + specialEvent = true; + } + + var x = event.pageX - canvasLeft, + y = event.pageY - canvasTop; + + // # PLAYER HAND + playerHand.forEach(function(card, index){ + + let clickable = card.clickable; + + if(clickableCheck(x,y,clickable) && !specialEvent){ + board.playMana(index); + board.drawBoard(); + } + }); + // Return false to prevent context opening: https://stackoverflow.com/a/4236294 + return false; + +}, false); + canvas.addEventListener('click', function(event) { console.log('EVENT LISTENER'); console.log(''); @@ -716,11 +742,7 @@ canvas.addEventListener('click', function(event) { if(clickableCheck(x,y,clickable) && !specialEvent){ - if(confirm("Play as unit or mana. OK = unit, cancel = mana. No actual cancel...")){ - board.playCardToBoard(index); - }else{ - board.playMana(index); - } + board.playCardToBoard(index); // This would actually fire off a socketIO doodad, that would then return // data, and redraw. But for now (UI test)