public void Execute(int i)
            {
                const float RANGE  = 10f;
                var         random = random_list_[i];
                var         pos    = new float3(random.range(-RANGE, RANGE),
                                                random.range(-RANGE, RANGE),
                                                random.range(-RANGE, RANGE));

                ECSExplosionManager.spawn(command_buffer_,
                                          time_,
                                          ref pos,
                                          random.range(-Mathf.PI, Mathf.PI));
                random_list_[i] = random;
            }
#pragma warning restore 0169

        protected override void OnUpdate()
        {
            LaserSystem.Sync();
            ZakoSystem.Sync();

            var spawner = ECSExplosionManager.GetExplosionSpawnDataQueue();
            ExplosionSpawnData data;

            while (spawner.TryDequeue(out data))
            {
                ECSExplosionManager.spawn(PostUpdateCommands,
                                          Time.GetCurrent(),
                                          ref data.position_,
                                          0f /* rotation1 */);
            }
        }
예제 #3
0
 protected override void OnUpdate()
 {
     for (var i = 0; i < group_.random_list_.Length; ++i)
     {
         const float RANGE  = 10f;
         var         time   = Time.GetCurrent();
         var         random = group_.random_list_[i];
         var         pos    = new float3(random.range(-RANGE, RANGE),
                                         random.range(-RANGE, RANGE),
                                         random.range(-RANGE, RANGE));
         ECSExplosionManager.spawn(PostUpdateCommands,
                                   time,
                                   ref pos,
                                   random.range(-Mathf.PI, Mathf.PI));
         group_.random_list_[i] = random;
     }
 }