#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 */);
            }
        }
예제 #2
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            rigidbody_position_system_.Sync();

            handle_ = inputDeps;

            Entity player_entity = SystemManager.Instance.getPrimaryPlayer();
            var    job           = new ZakoJob {
                time_              = Time.GetCurrent(),
                dt_                = Time.GetDT(),
                player_pos_        = position_list_from_entity_[player_entity],
                group_             = group_,
                bullet_spawner_    = ECSBulletManager.GetBulletSpawnDataQueue().ToConcurrent(),
                explosion_spawner_ = ECSExplosionManager.GetExplosionSpawnDataQueue().ToConcurrent(),
            };

            handle_ = job.Schedule(group_.zako_list_.Length, 8, handle_);

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

            var entity_manager = Unity.Entities.World.Active.GetOrCreateManager <EntityManager>();
            var job            = new Job()
            {
                time_             = Time.GetCurrent(),
                dt_               = Time.GetDT(),
                flow_z_           = CV.FLOW_VELOCITY,
                entity_list_      = group_.entity_list_,
                laser_list_       = group_.laser_list_,
                position_list_    = group_.position_list_,
                rb_position_list_ = group_.rb_position_list_,
                local_to_world_list_from_entity_ = local_to_world_list_from_entity_,
                trail_data_list_   = group_.trail_data_list_,
                destroyable_list_  = group_.destroyable_list_,
                explosion_spawner_ = ECSExplosionManager.GetExplosionSpawnDataQueue(),
            };

            handle_ = job.Schedule(group_.rb_position_list_.Length, 8, handle_);

            return(handle_);
        }