Stage 1. A Map is made from the Name and Quantity of the DataTable. (This is for the future so I can scale how many of each blueprint exist in the game based on players in the game.
Stage 2. I use that map to randomly select 5 blueprints that have a quantity > 0 to populate an array of the chosen blueprints. It reduces the quantity in the map by 1 for each time it is rolled so that way there are no duplicates made by players, and so that all players share the same pool of towers.
Stage 3. These 5 randomly selected blueprints that are now in an array are used to populate a players blueprint shop. Where they can buy it, or not.