コード例 #1
0
        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);
        }
コード例 #2
0
            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);
                }
            }
コード例 #3
0
            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);
                }
            }