protected override JobHandle OnUpdate(JobHandle inputDeps) { EntityCommandBuffer ecb = barrier.CreateCommandBuffer(); EntityArray a_entities = group.GetEntityArray(); for (int i = 0; i < a_entities.Length; ++i) { Entity entity = a_entities [i]; // Renderer Common.previousMeshInstanceRenderer = entityManager.GetSharedComponentData <MeshInstanceRenderer> (entity); // Assign new renderrer Unity.Rendering.MeshInstanceRenderer renderer = Bootstrap.highlightRenderer; ecb.SetSharedComponent <MeshInstanceRenderer> (entity, renderer); // replace renderer with material and mesh ecb.RemoveComponent <SetHighlightTag> (entity); } /* * JobHandle job = new Job * { * ecb = barrier.CreateCommandBuffer (), * entityManager = entityManager, * a_entities = group.GetEntityArray (), * * }.Schedule (inputDeps) ; * * return job ; */ return(inputDeps); }
public void Execute() { for (int i = 0; i < a_entities.Length; ++i) { Entity highlight = a_entities [i]; // renderer Unity.Rendering.MeshInstanceRenderer renderer = Common.previousMeshInstanceRenderer; // Bootstrap.playerRenderer ; ecb.SetSharedComponent <MeshInstanceRenderer> (highlight, renderer); // replace renderer with material and mesh ecb.RemoveComponent <ResetHighlightTag> (highlight); } }
public void Execute() { for (int i = 0; i < a_entities.Length; ++i) { Entity entity = a_entities [i]; // renderer Unity.Rendering.MeshInstanceRenderer renderer = previousMeshInstanceRenderer; // Bootstrap.playerRenderer ; // renderer.material.SetColor ( "_Color", Color.blue ) ; commandsBuffer.SetSharedComponent <MeshInstanceRenderer> (entity, renderer); // replace renderer with material and mesh // commandsBuffer.AddComponent ( entity, new IsBlockHighlightedTag () ) ; commandsBuffer.RemoveComponent <BlockResetHighlightTag> (entity); } }