| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 
							- using Unity.Burst;
 
- using Unity.Collections;
 
- using Unity.Entities;
 
- using Unity.Transforms;
 
- namespace GPUECSAnimationBaker.Engine.AnimatorSystem
 
- {
 
-     [BurstCompile]
 
-     public partial struct GpuEcsAttachmentSystem : ISystem
 
-     {
 
-         private BufferLookup<GpuEcsCurrentAttachmentAnchorBufferElement> gpuEcsCurrentAttachmentAnchorLookup;
 
-         
 
-         [BurstCompile]
 
-         public void OnCreate(ref SystemState state)
 
-         {
 
-             gpuEcsCurrentAttachmentAnchorLookup = state.GetBufferLookup<GpuEcsCurrentAttachmentAnchorBufferElement>(isReadOnly: true);
 
-         }
 
-         
 
-         [BurstCompile]
 
-         public void OnUpdate(ref SystemState state)
 
-         {
 
-             gpuEcsCurrentAttachmentAnchorLookup.Update(ref state);
 
-             state.Dependency = new GpuEcsAttachmentJob()
 
-             {
 
-                 gpuEcsCurrentAttachmentAnchorLookup = gpuEcsCurrentAttachmentAnchorLookup
 
-             }.ScheduleParallel(state.Dependency);
 
-         }
 
-         [BurstCompile]
 
-         private partial struct GpuEcsAttachmentJob : IJobEntity
 
-         {
 
-             [ReadOnly] public BufferLookup<GpuEcsCurrentAttachmentAnchorBufferElement> gpuEcsCurrentAttachmentAnchorLookup;
 
-             
 
-             public void Execute(ref LocalTransform localTransform, in GpuEcsAttachmentComponent gpuEcsAttachment)
 
-             {
 
-                 DynamicBuffer<GpuEcsCurrentAttachmentAnchorBufferElement> currentAttachmentAnchors 
 
-                     = gpuEcsCurrentAttachmentAnchorLookup[gpuEcsAttachment.gpuEcsAnimatorEntity];
 
-                 GpuEcsCurrentAttachmentAnchorBufferElement currentAnchor = currentAttachmentAnchors[gpuEcsAttachment.attachmentAnchorId];
 
-                 localTransform = LocalTransform.FromMatrix(currentAnchor.currentTransform);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |