Web Dev Solutions

Catalin Mititiuc

From a3bf726e40fe4ed529bdefa83c977af4b72791a9 Mon Sep 17 00:00:00 2001 From: Catalin Mititiuc Date: Tue, 30 Apr 2024 21:10:11 -0700 Subject: Allow placing a counter that doesn't already exist --- src/modules/gameboard.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/modules/gameboard.js') diff --git a/src/modules/gameboard.js b/src/modules/gameboard.js index 3482ce7..2df5b36 100644 --- a/src/modules/gameboard.js +++ b/src/modules/gameboard.js @@ -234,6 +234,7 @@ export function start(el) { selector = `[data-allegiance="${allegiance}"][data-number="${number}"]`; svg.querySelectorAll(selector).forEach(el => el.remove()); + selectCallback(); } }); @@ -272,15 +273,18 @@ export function start(el) { } export function select(selected) { - const counter = soldier.getCounter(svg, selected); + unSelect(); + let counter = soldier.getCounter(svg, selected); if (counter) { - unSelect(); - placing.push(counter); - counter.classList.add(soldier.getSelectedClass()); firingArc.get(svg, counter).forEach(el => el.removeAttribute('clip-path')); - selectCallback && selectCallback({ prone: soldier.hasProne(counter), ...counter.dataset }); + } else { + counter = soldier.createCounter(selected); } + + placing.push(counter); + counter.classList.add(soldier.getSelectedClass()); + selectCallback && selectCallback({ prone: soldier.hasProne(counter), ...counter.dataset }); } export function unSelect() { -- cgit v1.2.3