UltimateZoneBuilder/Build/UDBScript/Scripts/Examples/randomizeselectionorder.js
biwa 5eb438e3ba
Add map scripting capabilities to UDB (#656)
Added map scripting capabilities to UDB (#656). Documentation at https://biwa.github.io/udbscript-docs/
2021-11-28 14:00:24 +01:00

27 lines
No EOL
668 B
JavaScript

`#name Randomize Selection Order`;
`#description Randomize the selection order of the selected map elements.`;
// Put all selected map elements into an array
let elements = [
...Map.getSelectedThings(),
...Map.getSelectedVertices(),
...Map.getSelectedLinedefs(),
...Map.getSelectedSectors()
];
// Clear current selection
Map.clearAllSelected();
// Keep going as long as there are elements in the array
while(elements.length > 0)
{
// Randomly choose one element
let index = Math.floor(Math.random() * elements.length);
// Select it!
elements[index].selected = true;
// Remove it from the array
elements.splice(index, 1);
}