#pragma once
#include "Types.hpp"

namespace TSE
{
    class Random
    {
    private:
        uint state;
    public:
        Random(uint seed);

        uint nextUInt(uint minInc = 0, uint maxInc = 0);
        int nextInt(int minInc = 0, int maxInc = 0);
        short nextShort(short minInc = 0, short maxInc = 0);
        byte nextByte(byte minInc = 0, byte maxInc = 0);
        float nextFloat01();
    };
    
}