Files
JiboOs/docs/bt/mim/WeightedRotation.js
2026-03-16 13:53:01 +02:00

29 lines
1.1 KiB
JavaScript

/**
* Items for weighted rotation require an id and a weight.
* @private
*/
/**
* Because we need to modify weights, these will be created for each weighted item during
* selection. Not exposed outside WeightedRotation.ts
* @private
*/
/**
* Selects an item from a list, using weighting and enforced rotation.
* @param {WeightedItem[]} itemList The list of items to choose from.
* @param {Function} validCheck Function to see if an individual item is valid.
* @param {Object} [usedDict] Dictionary of used items, passed in by reference. If null, enforced
* rotation is not used.
* @private
*/
/**
* Selects an item from a list, using weighting and enforced rotation (if usedDict is passed in).
* Is not exposed otuside of WeightedRotation.ts
* @param {WeightedItem[]} items The list of items to choose from.
* @param {WeightedItem[]} usedItems List of already used items, to add to if needed
* @param {Object} [usedDict] Dictionary of used items, passed in by reference. If null, enforced
* rotation is not used.
* @private
*/