Create counters with assigned weapons
This commit is contained in:
parent
a17ff4c696
commit
7e5557bd32
@ -1,4 +1,5 @@
|
||||
import counters from './assets/images/counters.svg';
|
||||
import { extractWeaponFromRecord, isRecord } from '../record_sheet.js';
|
||||
|
||||
const selectedClass = 'selected';
|
||||
|
||||
@ -58,8 +59,11 @@ function createTrace(previous, current, selected) {
|
||||
export function createCounter(selected, weapon = 'rifle') {
|
||||
const use = document.createElementNS(svgns, 'use');
|
||||
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');
|
||||
|
||||
g.classList.add('counter');
|
||||
g.dataset.allegiance = selected.dataset.allegiance;
|
||||
g.dataset.number = selected.dataset.number;
|
||||
|
@ -152,6 +152,18 @@ function endMove() {
|
||||
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() {
|
||||
return document.querySelector('.soldier-record.selected');
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user