Some cleanup

This commit is contained in:
2024-04-27 13:10:43 -07:00
parent b88945ced6
commit 75a0c37ea5
7 changed files with 78 additions and 186 deletions

View File

@@ -2,8 +2,6 @@ import * as firingArc from './game/firingArc.js';
import * as sightLine from './game/sightLine.js';
import * as counterMod from './game/counter.js';
const svgns = "http://www.w3.org/2000/svg";
function getCellContents(cell) {
return cell.querySelectorAll('*:not(use[href="#hex"])');
}
@@ -111,9 +109,7 @@ function drawSightLine(sourceCell, targetCell) {
distanceCallback && distanceCallback(hexes.length - 1);
}
let svg, distanceCallback, proneFlagCallback, selectCallback;
let board,
let svg, distanceCallback, proneFlagCallback, selectCallback,
placing = [];
export function setDistanceCallback(callback) {
@@ -130,7 +126,6 @@ export function setSelectCallback(callback) {
export function start(el) {
svg = el;
board = svg.querySelector('.board');
getCells(svg).forEach(cell => {
cell.addEventListener('click', e => {
@@ -332,16 +327,16 @@ export function toggleProne() {
}
}
export function toggleFiringArcVisibility(allegiance) {
firingArc.toggleVisibility(svg, allegiance);
export function toggleFiringArcVisibility() {
firingArc.toggleVisibility(svg, this.dataset.allegiance);
}
export function setFiringArc(size) {
export function setFiringArc() {
const counter = getSelected(),
isOnBoard = counter => counter && counter.parentElement.hasAttribute('data-x');
if (isOnBoard(counter)) {
firingArc.set(svg, size, counter, getCellPosition(counter.parentElement));
firingArc.set(svg, this.dataset.size, counter, getCellPosition(counter.parentElement));
}
}

View File

@@ -1,5 +1,4 @@
const svgns = "http://www.w3.org/2000/svg",
selectedClass = 'selected';
const selectedClass = 'selected';
function dataSelector({ dataset: { allegiance, number }}) {
return `[data-number="${number}"][data-allegiance="${allegiance}"]`;

View File

@@ -4,8 +4,7 @@
// cancels out, leaving us with a unitless ratio of sqrt(3) / (3 / 2), or
// 2 * sqrt(3) / 3.
const svgns = "http://www.w3.org/2000/svg",
horzToVertDistRatio = 2 * Math.sqrt(3) / 3,
const horzToVertDistRatio = 2 * Math.sqrt(3) / 3,
arcSize = {
'small': Math.atan(horzToVertDistRatio / 6),

View File

@@ -1,5 +1,4 @@
const svgns = "http://www.w3.org/2000/svg",
targetClassName = 'sight-line-target',
const targetClassName = 'sight-line-target',
activeClassName = 'active';
function evenr_to_axial(x, y) {

View File

@@ -0,0 +1,32 @@
export function unSelect() {
const selected = getSelected();
if (selected) {
selected.classList.remove('selected');
}
document.getElementById('toggle-prone-counter').checked = false;
}
export function getSelected() {
return document.querySelector('.soldier-record.selected');
}
export function select(data) {
const selector =
`#record-sheet .soldier-record[data-number="${data.number}"][data-allegiance="${data.allegiance}"]`
unSelect();
document.querySelector(selector).classList.add('selected');
document.getElementById('toggle-prone-counter').checked = data.prone;
}
export function endMove() {
const selected = getSelected();
if (selected) {
selected.classList.toggle('movement-ended');
}
unSelect();
}