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_); }
#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); } }