73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
export default function(ms, sidc) {
|
|
let mainIcon = {};
|
|
for (let i = 0; i < sidc.mainIcon.length; i++) {
|
|
if (
|
|
sidc.mainIcon[i].hasOwnProperty("Geometric Rendering") &&
|
|
sidc.mainIcon[i]["Geometric Rendering"] != "Point"
|
|
) {
|
|
continue;
|
|
}
|
|
let icon =
|
|
sidc.mainIcon[i]["Code"] +
|
|
" " +
|
|
(sidc.mainIcon[i]["Entity Subtype"] ||
|
|
sidc.mainIcon[i]["Entity Type"] ||
|
|
sidc.mainIcon[i]["Entity"]);
|
|
let valid = new ms.Symbol(
|
|
"1003" + sidc.symbolset + "0000" + sidc.mainIcon[i]["Code"] + "0000"
|
|
).isValid();
|
|
mainIcon[icon] = [valid, true];
|
|
}
|
|
|
|
let modifier1 = {};
|
|
for (let i = 0; i < sidc.modifier1.length; i++) {
|
|
if (sidc.symbolset == "25" && sidc.modifier1[i]["Code"] <= 12) {
|
|
continue; // mobility modifiers for tactical points that we don't support
|
|
}
|
|
let icon =
|
|
sidc.modifier1[i]["Code"] + " " + sidc.modifier1[i]["First Modifier"];
|
|
let valid;
|
|
if (
|
|
sidc.modifier1[i]["Code"].length == 2 &&
|
|
sidc.modifier1[i]["Code"] != 99
|
|
) {
|
|
valid = new ms.Symbol(
|
|
"1003" +
|
|
sidc.symbolset +
|
|
"0000" +
|
|
"000000" +
|
|
sidc.modifier1[i]["Code"] +
|
|
"00"
|
|
).isValid();
|
|
modifier1[icon] = [valid, true];
|
|
}
|
|
}
|
|
|
|
let modifier2 = {};
|
|
for (let i = 0; i < sidc.modifier2.length; i++) {
|
|
let icon =
|
|
sidc.modifier2[i]["Code"] + " " + sidc.modifier2[i]["Second Modifier"];
|
|
let valid;
|
|
if (
|
|
sidc.modifier2[i]["Code"].length == 2 &&
|
|
sidc.modifier2[i]["Code"] != 99
|
|
) {
|
|
valid = new ms.Symbol(
|
|
"1003" +
|
|
sidc.symbolset +
|
|
"0000" +
|
|
"000000" +
|
|
"00" +
|
|
sidc.modifier2[i]["Code"]
|
|
).isValid();
|
|
modifier2[icon] = [valid, true];
|
|
}
|
|
}
|
|
|
|
return {
|
|
"Main Icon": mainIcon,
|
|
"Modifier 1": modifier1,
|
|
"Modifier 2": modifier2
|
|
};
|
|
}
|