コード例 #1
0
 // Initialize Random Seed
 protected override void OnStartRunning()
 {
     Entities.ForEach((Entity e, int entityInQueryIndex, ref IndividualRandomData randomData) =>
     {
         randomData.Value = Random.CreateFromIndex((uint)entityInQueryIndex);
     }).ScheduleParallel();
 }
コード例 #2
0
ファイル: RandomSystem.cs プロジェクト: NagaChiang/tiny-rogue
        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());
            }
        }
コード例 #3
0
        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);
        }