Player
Player copied to clipboard
RNG refactoring
As already discussed on discord, the current workflow of locking and unlocking rng seems quite dirty. My solution is wrapping the rng in a simple polymorphic adapter class, which let's us exchange the behavior during runtime (e.g. for tests). I also added a simple ScopedRNGWrapper class, which will exchange the current global rng with a newly created one and exchanges it back on destruction.
Finally I added some test cases.
Jenkins: Test this please
Well, I've mixed up the c++ versions. Most _v type_trait suffixes are from c++17. Questions is, when do you plan upgrading version? If it's planned for the near future I'll simply wait and instead upgrading the other parts to c++17 .
Since we do use c++17 now, this should be looked at again...