resolve multi player names
parent
7797397764
commit
d10fc8e49a
|
@ -11,7 +11,7 @@ const VehicleClasses = Object.freeze({
|
|||
UNKNOWN: 'Unbekannt',
|
||||
});
|
||||
|
||||
const playerNameRegex = /^(.*?)\s\(/;
|
||||
const playerNameRegex = /(^|,\s)(.*?)\s\(/g;
|
||||
|
||||
const vehicleNameEndRegex = /\s\(\w+:/;
|
||||
|
||||
|
@ -279,18 +279,27 @@ const getBudgetEntry = (budg, warId, warDate) => {
|
|||
const getPlayerAndFractionFromString = (inputString) => {
|
||||
const playerNameRegexMatch = playerNameRegex.exec(inputString);
|
||||
const sideMatch = sideRegex.exec(inputString);
|
||||
// const magazineMatch = magazineRegex.exec(inputString);
|
||||
// const vehicleMatch = vehicleRegex.exec(inputString);
|
||||
|
||||
// SINGLE PLAYER NAME
|
||||
let name;
|
||||
if (playerNameRegexMatch && playerNameRegexMatch.length >= 2) {
|
||||
// NAME
|
||||
name = playerNameRegexMatch[1];
|
||||
name = playerNameRegexMatch[2].trim();
|
||||
}
|
||||
// ADDITIONAL PLAYER NAMES
|
||||
let additionalPlayerMatch;
|
||||
while ((additionalPlayerMatch = playerNameRegex.exec(inputString)) !== null) {
|
||||
const addPlayer = additionalPlayerMatch[0].replace(/^,\s/, '').replace(/\s\($/, '').trim();
|
||||
if (name instanceof Array) {
|
||||
name.push(addPlayer)
|
||||
} else {
|
||||
name = [name, addPlayer];
|
||||
}
|
||||
}
|
||||
|
||||
// PLAYER FRACTION
|
||||
let side;
|
||||
if (sideMatch && sideMatch.length >= 3) {
|
||||
// SIDE
|
||||
side = sideMatch[2];
|
||||
} else {
|
||||
const inputArray = inputString.split(WHITESPACE);
|
||||
|
@ -299,6 +308,9 @@ const getPlayerAndFractionFromString = (inputString) => {
|
|||
}
|
||||
}
|
||||
|
||||
// const magazineMatch = magazineRegex.exec(inputString);
|
||||
// const vehicleMatch = vehicleRegex.exec(inputString);
|
||||
|
||||
// if (magazineMatch && magazineMatch.length >= 3) {
|
||||
// MAGAZINE
|
||||
// console.log(magazineMatch[2])
|
||||
|
@ -320,9 +332,11 @@ const getPlayerAndFractionFromString = (inputString) => {
|
|||
undefined;
|
||||
}
|
||||
|
||||
console.log(name);
|
||||
|
||||
// do not return player for 'Error: No unit'
|
||||
if (name && name !== 'Error: No unit') {
|
||||
return {name: name.trim(), fraction: fraction};
|
||||
return {name: name, fraction: fraction};
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue