#pragma once class Random { public: static void SetSeed(int seed); static int RandInt(int min, int max); template static std::vector SelectFromSet(std::vector set, size_t count) { size_t setSize = set.size(); assert(count < setSize); std::vector selection; for (int i=0; i(setSize - 1)); selection.emplace_back(set[index]); set[index] = set[setSize-1]; setSize--; } assert(selection.size() == count); return selection; } private: static uint32_t s_seed; };