using System;
using JNGame.Math;
using JNGame.Sync.System;
using Plugins.JNGame.Util;
namespace JNGame.Sync.Frame.Service
{
///
/// 随机数
///
public class JNRandomSystem : SLogicSystem
{
//随机数
private Func nRandomFloat;
private Func nRandomInt;
//Id
private ulong _id = 0;
private ulong _idMin = ulong.MinValue;
private ulong _idMax = ulong.MaxValue;
public JNRandomSystem(int seed)
{
nRandomFloat = RandomUtil.SyncRandomFloat(seed);
nRandomInt = RandomUtil.SyncRandomInt(seed);
}
public LFloat Float()
{
return Float(0,1);
}
public LFloat Float(LFloat min,LFloat max)
{
return nRandomFloat(min,max);
}
public int Int(int max,int min)
{
return nRandomInt(max,min);
}
public ulong NextId()
{
return ++_id;
}
public void SetIdValue(ulong min,ulong max)
{
if (_id < min)
{
_id = min;
}
_idMin = min;
_idMax = max;
}
}
}