| 12345678910111213141516171819202122232425262728293031323334353637383940 | using Unity.Burst;using Unity.Collections;using Unity.Entities;namespace GPUECSAnimationBaker.Engine.AnimatorSystem{    public partial struct GpuEcsAnimatedMeshSystem : ISystem    {        private ComponentLookup<GpuEcsAnimatorShaderDataComponent> gpuEcsAnimatorShaderDataLookup;                    [BurstCompile]        public void OnCreate(ref SystemState state)        {            gpuEcsAnimatorShaderDataLookup = state.GetComponentLookup<GpuEcsAnimatorShaderDataComponent>(isReadOnly: true);        }                [BurstCompile]        public void OnUpdate(ref SystemState state)        {            gpuEcsAnimatorShaderDataLookup.Update(ref state);            state.Dependency = new GpuEcsAnimatedMeshJob()            {                gpuEcsAnimatorShaderDataLookup = gpuEcsAnimatorShaderDataLookup            }.ScheduleParallel(state.Dependency);        }                [BurstCompile]        private partial struct GpuEcsAnimatedMeshJob : IJobEntity        {            [ReadOnly] public ComponentLookup<GpuEcsAnimatorShaderDataComponent> gpuEcsAnimatorShaderDataLookup;            public void Execute(ref GpuEcsMaterialAnimationState gpuEcsMaterialAnimationState,                in GpuEcsAnimatedMeshComponent gpuEcsAnimatedMesh)            {                GpuEcsAnimatorShaderDataComponent gpuEcsAnimatorShaderData = gpuEcsAnimatorShaderDataLookup[gpuEcsAnimatedMesh.animatorEntity];                gpuEcsMaterialAnimationState.Value = gpuEcsAnimatorShaderData.shaderData;            }        }            }}
 |