2020-07-18 14:49:11 +00:00
|
|
|
namespace PkmnLibSharp.Utilities
|
|
|
|
{
|
|
|
|
public class Random : PointerWrapper
|
|
|
|
{
|
|
|
|
public Random() : base(Arbutils.Generated.Random.Construct())
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public Random(ulong seed) : base(Arbutils.Generated.Random.ConstructWithSeed(seed))
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public float GetFloat()
|
|
|
|
{
|
|
|
|
return Arbutils.Generated.Random.GetFloat(Ptr);
|
|
|
|
}
|
|
|
|
|
|
|
|
public double GetDouble()
|
|
|
|
{
|
|
|
|
return Arbutils.Generated.Random.GetDouble(Ptr);
|
|
|
|
}
|
|
|
|
|
|
|
|
public int Get()
|
|
|
|
{
|
|
|
|
return Arbutils.Generated.Random.Get(Ptr);
|
|
|
|
}
|
|
|
|
|
|
|
|
public int Get(int max)
|
|
|
|
{
|
2020-07-19 10:33:22 +00:00
|
|
|
int val = 0;
|
|
|
|
Arbutils.Generated.Random.GetWithMax(Ptr, max, ref val).Assert();
|
|
|
|
return val;
|
2020-07-18 14:49:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public int Get(int min, int max)
|
|
|
|
{
|
2020-07-19 10:33:22 +00:00
|
|
|
int val = 0;
|
|
|
|
Arbutils.Generated.Random.GetInLimits(Ptr, min, max, ref val).Assert();
|
|
|
|
return val;
|
2020-07-18 14:49:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public uint GetUnsigned()
|
|
|
|
{
|
|
|
|
return Arbutils.Generated.Random.GetUnsigned(Ptr);
|
|
|
|
}
|
|
|
|
|
|
|
|
public uint GetUnsigned(uint max)
|
|
|
|
{
|
2020-07-19 10:33:22 +00:00
|
|
|
uint val = 0;
|
|
|
|
Arbutils.Generated.Random.GetUnsignedWithMax(Ptr, max, ref val).Assert();
|
|
|
|
return val;
|
2020-07-18 14:49:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public uint GetUnsigned(uint min, uint max)
|
|
|
|
{
|
2020-07-19 10:33:22 +00:00
|
|
|
uint val = 0;
|
|
|
|
Arbutils.Generated.Random.GetUnsignedInLimits(Ptr, min, max, ref val).Assert();
|
|
|
|
return val;
|
2020-07-18 14:49:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void DeletePtr()
|
|
|
|
{
|
|
|
|
Arbutils.Generated.Random.Destruct(Ptr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|