//
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
//
namespace MUnique.OpenMU.GameLogic;
///
/// Description of IRandomizer.
///
public interface IRandomizer
{
///
/// Returns the next random boolean value.
///
/// The next random boolean value.
bool NextRandomBool();
///
/// Returns the next random boolean value, with a chance of of being true.
///
/// The percent of the chance of being true.
/// The next random boolean value.
bool NextRandomBool(int percent);
///
/// Returns the next random boolean value, with a of of being true.
///
/// The chance of of being true.
/// The basis.
/// The next random boolean value.
bool NextRandomBool(int chance, int basis);
///
/// Returns the next random boolean value, with the of being true.
///
/// The chance of being true.
/// The next random boolean value.
bool NextRandomBool(double chance);
///
/// The next random integer.
///
/// The minimum value.
/// The maximum value.
/// The next random integer between and .
int NextInt(int min, int max);
///
/// The next random integer.
///
/// The minimum value.
/// The maximum value.
/// The next random integer between and .
int NextInt(uint min, uint max);
///
/// The next random unsigned integer.
///
/// The minimum value.
/// The maximum value.
/// The next random integer between and .
uint NextUInt(uint min, uint max);
///
/// The next random double between 0 and 1.
///
/// The next random integer between 0 and 1.
double NextDouble();
}