PkmnLibSharp/PkmnLibSharp/Utilities/Random.cs

69 lines
1.6 KiB
C#

using System;
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)
{
int val = 0;
Arbutils.Generated.Random.GetWithMax(Ptr, max, ref val).Assert();
return val;
}
public int Get(int min, int max)
{
int val = 0;
Arbutils.Generated.Random.GetInLimits(Ptr, min, max, ref val).Assert();
return val;
}
public uint GetUnsigned()
{
return Arbutils.Generated.Random.GetUnsigned(Ptr);
}
public uint GetUnsigned(uint max)
{
uint val = 0;
Arbutils.Generated.Random.GetUnsignedWithMax(Ptr, max, ref val).Assert();
return val;
}
public uint GetUnsigned(uint min, uint max)
{
uint val = 0;
Arbutils.Generated.Random.GetUnsignedInLimits(Ptr, min, max, ref val).Assert();
return val;
}
protected override void DeletePtr()
{
Arbutils.Generated.Random.Destruct(Ptr);
}
}
}