namespace Games.Common.Randomness; /// /// Provides access to a random number generator /// public interface IRandom { /// /// Gets a random such that 0 <= n < 1. /// /// The random number. float NextFloat(); /// /// Gets a random such that 0 <= n < exclusiveMaximum. /// /// The random number. float NextFloat(float exclusiveMaximum); /// /// Gets a random such that inclusiveMinimum <= n < exclusiveMaximum. /// /// The random number. float NextFloat(float inclusiveMinimum, float exclusiveMaximum); /// /// Gets a random such that 0 <= n < exclusiveMaximum. /// /// The random number. int Next(int exclusiveMaximum); /// /// Gets a random such that inclusiveMinimum <= n < exclusiveMaximum. /// /// The random number. int Next(int inclusiveMinimum, int exclusiveMaximum); /// /// Gets the previous random number as a . /// /// The previous random number. float PreviousFloat(); /// /// Gets the previous random number as an . /// /// The previous random number. int Previous(); /// /// Reseeds the random number generator. /// /// The seed. void Reseed(int seed); }