Exemplo n.º 1
0
        protected override void OnCreateManager(int capacity)
        {
            commandsBuffer = addGravityBarrier.CreateCommandBuffer();

            entityManager = World.Active.GetOrCreateManager <EntityManager>();

            float f_offset = 10;

            //_AddGravityRequest ( new float3 ( 0,0,1 ) * 2 ) ;
            //_AddGravityRequest ( new float3 ( UnityEngine.Random.value, UnityEngine.Random.value, UnityEngine.Random.value) * f_offset - new float3 ( 1, 1, 1) * f_offset * 0.5f ) ;
            //_AddGravityRequest ( new float3 ( UnityEngine.Random.value, UnityEngine.Random.value, UnityEngine.Random.value) * f_offset - new float3 ( 1, 1, 1) * f_offset * 0.5f ) ;
            //_AddGravityRequest ( new float3 ( UnityEngine.Random.value, UnityEngine.Random.value, UnityEngine.Random.value) * f_offset - new float3 ( 1, 1, 1) * f_offset * 0.5f ) ;
            //_AddGravityRequest ( new float3 ( UnityEngine.Random.value, UnityEngine.Random.value, UnityEngine.Random.value) * f_offset - new float3 ( 1, 1, 1) * f_offset * 0.5f ) ;
        }
Exemplo n.º 2
0
        protected override void OnCreateManager(int capacity)
        {
            Debug.Log("Add block system requires add Job Parallel For");

            commandsBuffer = addBlockBarrier.CreateCommandBuffer();

            entityManager = World.Active.GetOrCreateManager <EntityManager>();

            // entityManager = World.Active.GetOrCreateManager <EntityManager>() ;
            MeshInstanceRenderer renderer = Bootstrap.octreeCenter01;

            commandsBuffer.CreateEntity();
            // commandsBuffer.AddComponent ( new MeshCullingComponent { } ) ;
            commandsBuffer.AddSharedComponent(renderer);
        }
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            EntityCommandBuffer commandBuffer = compositeBarrier.CreateCommandBuffer();


            // Add required spares, for later assignment into pattern group.
            //if ( !isSpareAssigned2PaternBool && !iSpareBeenAdded )
            //{
            float f_compositeScale = 0.1f;

            //Debug.Log ( "C" ) ;
            var reqJobHandle = new AddRequiredSpareCompositesJob
            {
                commandBuffer = commandBuffer,

                requestPatternSetupData = requestPatternSetupData,
                i_spareCompositesCount  = spareCompositeData.Length,
                //a_spareCompoisteEntities = spareCompositeData.a_entities,

                f_compositeScale = f_compositeScale,
            };

            reqJobHandle.Schedule(inputDeps).Complete();

            // iSpareBeenAdded = true  ;


            return(inputDeps);
        }
 protected override JobHandle OnUpdate(JobHandle inputDeps)
 {
     return(new SetWeaponKindJob
     {
         Entities = _group.GetEntityArray(),
         Weapons = _group.GetComponentDataArray <Weapon>(),
         EntityCommandBuffer = Barrier.CreateCommandBuffer().ToConcurrent(),
         WeaponKind = WeaponKind
     }.Schedule(_group.CalculateLength(), 64, inputDeps));
 }
Exemplo n.º 5
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            return(new ResetBlockHiglightJob
            {
                a_entities = data.a_entities,
                a_setBlockHighlight = data.a_resetBlockHighlight,

                commandsBuffer = resetBlockHiglightBarrier.CreateCommandBuffer(),
            }.Schedule(inputDeps));
        }
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            return(new SetBlockHiglightJob
            {
                //isBool = true,
                a_entities = data.a_entities,
                //a_setBlockHighlight = data.a_setBlockHighlight,

                commandBuffer = setBlockHiglightBarrier.CreateCommandBuffer(),
            }.Schedule(inputDeps));
        }
Exemplo n.º 7
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            var releasePatternDataJobHandle = new ReleasePatternDataJob // for IJobParallelFor
            {
                commandBuffer      = compositeBarrier.CreateCommandBuffer(),
                releasePatternData = releasePatternData,
            };  // .Schedule (inputDeps) ; // .Schedule( lod01Data.Length, 64, inputDeps) ; // IJobParallelFor

            // JobHandle mergeJobHandle = movePatternDataJobHandle.Schedule ( movePatternData.Length, 64, inputDeps ) ;
            JobHandle mergeJobHandle = releasePatternDataJobHandle.Schedule(inputDeps);

            return(mergeJobHandle);
        }
Exemplo n.º 8
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            var handle = inputDeps;

            var job = new Job {
                time_           = Time.GetCurrent(),
                command_buffer_ = barrier_.CreateCommandBuffer(),
                random_list_    = group_.random_list_,
            };

            handle = job.Schedule(group_.random_list_.Length, 8, handle);

            return(handle);
        }
Exemplo n.º 9
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            if (CanShoot)
            {
                return(new WeaponShootingJob
                {
                    EntityArray = Group.GetEntityArray(),
                    Weapons = Group.GetComponentDataArray <Weapon>(),
                    EntityCommandBuffer = Barrier.CreateCommandBuffer().ToConcurrent(),
                    CurrentTime = Time.time
                }.Schedule(Group.CalculateLength(), 64, inputDeps));
            }

            return(base.OnUpdate(inputDeps));
        }
Exemplo n.º 10
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            var addPatternPrefabJobHandle = new AddPatternPrefabJob
            {
                commandBuffer = compositeBarrier.CreateCommandBuffer(),
                requestAddPatternPrefabData          = requestAddPatternPrefabData,
                a_requestAddComposites2PatternPrefab = a_requestAddComposites2PatternPrefab,

                //spareCompositeData = spareCompositeData,
            }.Schedule(inputDeps);     // .Schedule( lod01Data.Length, 64, inputDeps) ; // IJobParallelFor

            // JobHandle mergeJobHandle = assignCompositePatternJobHandle.Schedule ( assignCompositePatternData.Length, 64, inputDeps ) ;

            return(addPatternPrefabJobHandle);
        }
Exemplo n.º 11
0
        protected override void OnUpdate()
        {
            var cb = barrier_.CreateCommandBuffer();

            for (var i = 0; i < group_.time_alive_list_.Length; ++i)
            {
                if (group_.time_alive_list_[i].start_time_ + 1f < UnityEngine.Time.time)
                {
                    var entity = group_.entity_list_[i];
                    cb.DestroyEntity(entity);
                    // var entity_manager = Unity.Entities.World.Active.GetOrCreateManager<EntityManager>();
                    // entity_manager.DestroyEntity(entity);
                }
            }
        }
Exemplo n.º 12
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            EntityCommandBuffer commandBuffer = compositeBarrier.CreateCommandBuffer();

            //Debug.Log ( "A" ) ;
            var reqJobHandle2 = new AssignComposites2PatternGroupJob
            {
                commandBuffer = commandBuffer,

                requestPatternSetupData  = requestPatternSetupData,
                a_spareCompoisteEntities = spareCompositeData.a_entities,
            };

            reqJobHandle2.Schedule(inputDeps).Complete();

            return(inputDeps);
        }
Exemplo n.º 13
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            var handle = inputDeps;

            if (Random.Range(0, 100) < 2)
            {
                Assert.AreEqual(parent_group_.Length, 1);
                var job = new Job {
                    time_                      = Time.GetCurrent(),
                    command_buffer_            = barrier_.CreateCommandBuffer(),
                    sight_parent_entity_array_ = parent_group_.entity_array_,
                };
                handle = job.Schedule(group_.Length, 8, handle);
            }

            return(handle);
        }
Exemplo n.º 14
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            PlayerInputSystem.InputPointerData inputPointerData = PlayerInputSystem.inputPointerData;

            raycastData.f3_origin    = inputPointerData.rayCastData.f3_origin;
            raycastData.f3_direction = inputPointerData.rayCastData.f3_direction;
            raycastData.entityHit    = inputPointerData.rayCastData.entityHit;


            Debug.DrawLine(raycastData.f3_origin, raycastData.f3_origin + raycastData.f3_direction * 100, Color.red);

            return(new RayCastJob
            {
                //isBool = true,
                a_entities = data.a_entities,
                // a_transformMatrix = data.a_transformMatrix,
                a_position = data.a_positions,

                commandsBuffer = rayCastBarrier.CreateCommandBuffer(),
            }.Schedule(inputDeps));
        }
        protected override void OnCreateManager(int capacity)
        {
            commandsBuffer = removeBlockBarrier.CreateCommandBuffer();

            entityManager = World.Active.GetOrCreateManager <EntityManager>();
        }
Exemplo n.º 16
0
        // protected override JobHandle OnUpdate ( JobHandle inputDeps )
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            if (!isInitialized)
            {
                isInitialized = true;
                _Initialize();
            }

            /*
             * // run once
             * Initialize initialize = new Initialize ()
             * {
             *  // a_entities = data.a_entities,
             *  initializeData = initializeData,
             *
             *  commandsBuffer = octrreBarrier.CreateCommandBuffer ()
             * };
             *
             * initialize.Schedule ().Complete () ; // see also SheduleBatch ( a, b ).Complete ;
             */


            // ECS.Test02.PlayerInputSystem.InputPointerData inputPointerData = ECS.Test02.PlayerInputSystem.inputPointerData ;

            //Ray ray2 = new Ray ( inputPointerData.rayCastData.f3_origin, inputPointerData.rayCastData.f3_direction ) ;
            //Debug.DrawLine ( ray2.origin, ray2.origin + ray2.direction * 100, Color.green ) ;

            bool b_executeNow;

            // run periodcally, at given frequence
            // only test
            if (UnityEngine.Time.time >= f_nextT)
            {
                f_nextT = UnityEngine.Time.time + 0.05f;  // sec

                b_executeNow = true;
            }
            else
            {
                b_executeNow = false;
            }

            //return jobHandle ; // for IJobParallelFor


            // NativeArray <int> data = new NativeArray <int> (50, Allocator.TempJob) ;

            return(new AddNode
            {
                b_executeNow = b_executeNow,

                // a_entities = data.a_entities,
                data = data,

                commandsBuffer = octrreBarrier.CreateCommandBuffer()
            }.Schedule(inputDeps));

            //addNode.Schedule (  data.Length, 64, inputDeps ).Complete () ; // see also SheduleBatch ( a, b ).Complete ;

            // return base.OnUpdate ( inputDeps );
        }