Create counters with assigned weapons
This commit is contained in:
parent
71724cc979
commit
3c0e59f68e
@ -1,4 +1,5 @@
|
|||||||
import counters from './assets/images/counters.svg';
|
import counters from './assets/images/counters.svg';
|
||||||
|
import { extractWeaponFromRecord, isRecord } from '../record_sheet.js';
|
||||||
|
|
||||||
const selectedClass = 'selected';
|
const selectedClass = 'selected';
|
||||||
|
|
||||||
@ -58,8 +59,11 @@ function createTrace(previous, current, selected) {
|
|||||||
export function createCounter(selected, weapon = 'rifle') {
|
export function createCounter(selected, weapon = 'rifle') {
|
||||||
const use = document.createElementNS(svgns, 'use');
|
const use = document.createElementNS(svgns, 'use');
|
||||||
const g = document.createElementNS(svgns, 'g');
|
const g = document.createElementNS(svgns, 'g');
|
||||||
use.setAttributeNS(null, 'href', `../../${counters}#${weapon}`);
|
const assignedWeapon = isRecord(selected) ? extractWeaponFromRecord(selected) : weapon;
|
||||||
|
|
||||||
|
use.setAttributeNS(null, 'href', `../../${counters}#${assignedWeapon}`);
|
||||||
use.classList.add('primary-weapon');
|
use.classList.add('primary-weapon');
|
||||||
|
|
||||||
g.classList.add('counter');
|
g.classList.add('counter');
|
||||||
g.dataset.allegiance = selected.dataset.allegiance;
|
g.dataset.allegiance = selected.dataset.allegiance;
|
||||||
g.dataset.number = selected.dataset.number;
|
g.dataset.number = selected.dataset.number;
|
||||||
|
@ -152,6 +152,18 @@ function endMove() {
|
|||||||
deselect();
|
deselect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function extractWeaponFromRecord(recordEl) {
|
||||||
|
return recordEl
|
||||||
|
.querySelector('[slot="primary-weapon-type"] use')
|
||||||
|
.getAttributeNS(null, 'href')
|
||||||
|
.split('#')
|
||||||
|
.pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isRecord(el) {
|
||||||
|
return el.classList && el.classList.contains('soldier-record');
|
||||||
|
}
|
||||||
|
|
||||||
export function getSelected() {
|
export function getSelected() {
|
||||||
return document.querySelector('.soldier-record.selected');
|
return document.querySelector('.soldier-record.selected');
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user