| 456 | * Gets a string containing all requirements, connected with commas |
| 457 | * |
| 458 | * @param reqs Requirement(s), as stored in the units' JSON-files |
| 459 | */ |
| 460 | function GetTechnologyRequirementsTooltip(reqs) |
| 461 | { |
| 462 | if (!reqs) |
| 463 | return ""; |
| 464 | |
| 465 | let reqArr = []; |
| 466 | |
| 467 | if (reqs.tech) |
| 468 | reqArr.push(getEntityNames(GetTechnologyData(reqs.tech))); |
| 469 | if(reqs.class) |
| 470 | reqArr.push(reqs.class + "(" + reqs.number + "x)"); |
| 471 | |
| 472 | if (reqs.all) |
| 473 | { |
| 474 | let allArr = []; |
| 475 | for(let iReq = 0; iReq < reqs.all.length; iReq++) |
| 476 | { |
| 477 | let newReq = GetTechnologyRequirementsTooltip(reqs.all[iReq]); |
| 478 | if(newReq != "") |
| 479 | allArr.push(newReq); |
| 480 | } |
| 481 | if(allArr.length > 0) |
| 482 | reqArr.push(( allArr.length > 1 ? translate("All:") + " " : "" ) + allArr.join(", ")); |
| 483 | } |
| 484 | if (reqs.any) |
| 485 | { |
| 486 | let anyArr = []; |
| 487 | for(let iReq = 0; iReq < reqs.any.length; iReq++) |
| 488 | { |
| 489 | let newReq = GetTechnologyRequirementsTooltip(reqs.any[iReq]); |
| 490 | if(newReq != "") |
| 491 | anyArr.push(newReq); |
| 492 | } |
| 493 | if(anyArr.length > 0) |
| 494 | reqArr.push(( anyArr.length > 1 ? translate("All:") + " " : "" ) + anyArr.join(", ")); |
| 495 | } |
| 496 | |
| 497 | return reqArr.join(", "); |
| 498 | } |
| 499 | |
| 500 | |
| 501 | /** |