/// <summary> /// Initializes the <c>NativeArray</c> of random generators. /// </summary> protected override void OnCreate() { var randomArray = new Random[JobsUtility.MaxJobThreadCount]; var randomSeedGenerator = new System.Random(); for (var i = 0; i < JobsUtility.MaxJobThreadCount; ++i) { randomArray[i] = new Random((uint)randomSeedGenerator.Next()); } RandomGenerators = new NativeArray <Random>(randomArray, Allocator.Persistent); }
protected override void OnCreate() { buildPhysicsWorld = World.GetOrCreateSystem <BuildPhysicsWorld>(); var randomArray = new Random[1000]; var seed = new System.Random(); for (int i = 0; i < 1000; ++i) { randomArray[i] = new Random((uint)seed.Next()); } RandomArray = new NativeArray <Random>(randomArray, Allocator.Persistent); }
protected override JobHandle OnUpdate(JobHandle inputDependencies) { LbBoard board = m_BoardQuery.GetSingleton <LbBoard>(); var sRand = new System.Random(); var job = new MovePlayerCursorJob { Seed = sRand.Next(int.MaxValue), Size = board.SizeY, CommandBuffer = m_EntityCommandBufferSystem.CreateCommandBuffer().ToConcurrent() }.Schedule(m_PlayerQuery, inputDependencies); m_EntityCommandBufferSystem.AddJobHandleForProducer(job); return(job); }