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 ) ; }
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)); }
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)); }
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); }
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); }
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)); }
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); }
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); } } }
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); }
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); }
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>(); }
// 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 ); }