protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            handle_ = inputDeps;

            {
                var job = new PlayerBulletJob {
                    time_          = Time.GetCurrent(),
                    position_list_ = player_bullet_group_.position_list_,
                    player_bullet_collision_info_list_ = player_bullet_group_.player_bullet_collision_info_list_,
                    destroyable_list_ = player_bullet_group_.destroyable_list_,
                    spark_spawner_    = ECSSparkManager.GetSparkSpawnDataQueue().ToConcurrent(),
                };
                handle_ = job.Schedule(player_bullet_group_.position_list_.Length, 16, handle_);
            }
            {
                var job = new EnemyBulletJob {
                    time_          = Time.GetCurrent(),
                    position_list_ = enemy_bullet_group_.position_list_,
                    enemy_bullet_collision_info_list_ = enemy_bullet_group_.enemy_bullet_collision_info_list_,
                    destroyable_list_ = enemy_bullet_group_.destroyable_list_,
                    spark_spawner_    = ECSSparkManager.GetSparkSpawnDataQueue().ToConcurrent(),
                };
                handle_ = job.Schedule(enemy_bullet_group_.position_list_.Length, 16, handle_);
            }

            return(handle_);
        }
Exemple #2
0
#pragma warning restore 0169

        protected override void OnUpdate()
        {
            BulletSystem.Sync();

            var            spawner = ECSSparkManager.GetSparkSpawnDataQueue();
            SparkSpawnData data;

            while (spawner.TryDequeue(out data))
            {
                ECSSparkManager.spawn(PostUpdateCommands,
                                      Time.GetCurrent(),
                                      ref data);
            }
        }