2020-08-25 18:53:35 -07:00
|
|
|
/*************************************************************************
|
|
|
|
|
* ModernUO *
|
2020-09-12 15:31:21 -07:00
|
|
|
* Copyright 2019-2020 - ModernUO Development Team *
|
2020-08-25 18:53:35 -07:00
|
|
|
* Email: hi@modernuo.com *
|
2020-09-03 01:47:20 -07:00
|
|
|
* File: IRandomSource.cs *
|
2020-08-25 18:53:35 -07:00
|
|
|
* *
|
|
|
|
|
* This program is free software: you can redistribute it and/or modify *
|
|
|
|
|
* it under the terms of the GNU General Public License as published by *
|
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or *
|
|
|
|
|
* (at your option) any later version. *
|
|
|
|
|
* *
|
|
|
|
|
* You should have received a copy of the GNU General Public License *
|
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
|
|
|
|
*************************************************************************/
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
namespace Server.Random
|
|
|
|
|
{
|
|
|
|
|
public interface IRandomSource
|
|
|
|
|
{
|
|
|
|
|
int Next();
|
|
|
|
|
int Next(int maxValue);
|
|
|
|
|
int Next(int minValue, int count);
|
|
|
|
|
uint Next(uint maxValue);
|
|
|
|
|
uint Next(uint minValue, uint count);
|
|
|
|
|
long Next(long maxValue);
|
|
|
|
|
long Next(long minValue, long count);
|
|
|
|
|
double NextDouble();
|
|
|
|
|
void NextBytes(Span<byte> buffer);
|
|
|
|
|
int NextInt();
|
|
|
|
|
uint NextUInt();
|
|
|
|
|
ulong NextULong();
|
|
|
|
|
bool NextBool();
|
|
|
|
|
byte NextByte();
|
|
|
|
|
float NextFloat();
|
|
|
|
|
float NextFloatNonZero();
|
|
|
|
|
double NextDoubleNonZero();
|
|
|
|
|
double NextDoubleHighRes();
|
|
|
|
|
}
|
|
|
|
|
}
|