« get me outta code hell

Disable action menu during chain - csb-game - Pixelly spin-off of the Command Synergy Battle system used in Final Fantasy XIII
summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorrie <towerofnix@gmail.com>2018-08-09 20:15:19 -0300
committerFlorrie <towerofnix@gmail.com>2018-08-09 20:15:19 -0300
commit53744b647a6f1b889f63b6feb31e325236ba1348 (patch)
treebf1632db0218d10738c548c201adece1ae1f3b58
parent0d600998bd6ad07702491ec91e34e9eedbc7f499 (diff)
Disable action menu during chain
-rw-r--r--index.js49
1 files changed, 29 insertions, 20 deletions
diff --git a/index.js b/index.js
index cc1f4e4..137fd44 100644
--- a/index.js
+++ b/index.js
@@ -289,7 +289,7 @@ class BattleCharacter {
 const battleCharacter = new BattleCharacter()
 
 const atbBar = battleCharacter.atbBar
-atbBar.queuedActions = [{label: 'Fire', size: 1}, {label: 'Blizz', size: 1}, {label: 'Zap', size: 1}, {label: 'Firaga', size: 3}]
+//atbBar.queuedActions = [{label: 'Fire', size: 1}, {label: 'Blizz', size: 1}, {label: 'Zap', size: 1}, {label: 'Firaga', size: 3}]
 
 const actionMenu = new ActionMenu()
 
@@ -300,35 +300,44 @@ function drawLoop() {
   lastTime = Date.now()
 
   battleCharacter.update(dt)
-  atbBar.draw()
-
-  actionMenu.draw()
 
   const ctx = canvas.getContext('2d')
   ctx.clearRect(0, 0, canvas.width, canvas.height)
   ctx.fillStyle = '#EEE'
   ctx.fillRect(0, 0, canvas.width, canvas.height)
-  ctx.drawImage(actionMenu.canvas, 20, canvas.height - 20 - actionMenu.canvas.height)
-  ctx.drawImage(atbBar.canvas, 20, canvas.height - 20 - actionMenu.canvas.height - 2 - atbBar.canvas.height)
+
+  let y = canvas.height - 20
+  if (!battleCharacter.isExecutingChain) {
+    y -= actionMenu.canvas.height
+    actionMenu.draw()
+    ctx.drawImage(actionMenu.canvas, 20, y)
+    y -= 2
+  }
+  atbBar.draw()
+  ctx.drawImage(atbBar.canvas, 20, y - atbBar.canvas.height)
 
   requestAnimationFrame(drawLoop)
 }
 
 canvas.addEventListener('keypress', evt => {
-  if (evt.keyCode === 38) {
-    actionMenu.upOption()
-  } else if (evt.keyCode === 40) {
-    actionMenu.downOption()
-  } else if (evt.keyCode === 37) {
-    actionMenu.decreaseLevel()
-  } else if (evt.keyCode === 39) {
-    actionMenu.increaseLevel()
-  } else if (evt.which === 32) {
-    actionMenu.queueTo(atbBar)
-  } else if (evt.keyCode === 8) {
-    atbBar.dequeue()
-  } else if (evt.keyCode === 13 || evt.key.toLowerCase() === 'e') {
-    atbBar.activate()
+  if (!battleCharacter.isExecutingChain) {
+    if (evt.keyCode === 38) {
+      actionMenu.upOption()
+    } else if (evt.keyCode === 40) {
+      actionMenu.downOption()
+    } else if (evt.keyCode === 37) {
+      actionMenu.decreaseLevel()
+    } else if (evt.keyCode === 39) {
+      actionMenu.increaseLevel()
+    } else if (evt.which === 32) {
+      actionMenu.queueTo(atbBar)
+    } else if (evt.keyCode === 8) {
+      atbBar.dequeue()
+    } else if (evt.keyCode === 13 || evt.key.toLowerCase() === 'e') {
+      atbBar.activate()
+    }
+  } else {
+    // TODO: Backspace to cancel chain
   }
 })