// Initialize Random Seed protected override void OnStartRunning() { Entities.ForEach((Entity e, int entityInQueryIndex, ref IndividualRandomData randomData) => { randomData.Value = Random.CreateFromIndex((uint)entityInQueryIndex); }).ScheduleParallel(); }
protected override void OnCreate() { Random seedRandom = Random.CreateFromIndex((uint)DateTime.UtcNow.Ticks & int.MaxValue); Debug.LogAlways($"Random seed: {seedRandom.state}"); RandomArray = new NativeArray <Random>(JobsUtility.MaxJobThreadCount, Allocator.Persistent); for (int i = 0; i < RandomArray.Length; i++) { RandomArray[i] = Random.CreateFromIndex(seedRandom.NextUInt()); } }
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem) { var spawnCapsuleData = new SpawnCapsuleData { SpawnInterval = SpawnInterval, SpawnTimer = SpawnInterval, EntityPrefab = conversionSystem.GetPrimaryEntity(CapsulePrefab), FunKey = FunKey, Random = Random.CreateFromIndex(0), MinSpawnPosition = MinSpawnPosition, MaxSpawnPosition = MaxSpawnPosition }; dstManager.AddComponentData(entity, spawnCapsuleData); }