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; } } }