| 1234567891011121314151617181920212223242526272829303132333435 | 
							- using Unity.Burst;
 
- using Unity.Collections;
 
- using Unity.Entities;
 
- using Unity.Mathematics;
 
- using Unity.Transforms;
 
- namespace GPUECSAnimationBaker.Samples.SampleScenes.Marathon.RunnerSystems
 
- {
 
-     [BurstCompile]
 
-     public partial struct RunnerSystem : ISystem
 
-     {
 
-         [BurstCompile]
 
-         public void OnUpdate(ref SystemState state)
 
-         {
 
-             state.Dependency = new RunnerJob()
 
-             {
 
-                 deltaTime = SystemAPI.Time.DeltaTime,
 
-             }.ScheduleParallel(state.Dependency);
 
-         }
 
-         [BurstCompile]
 
-         private partial struct RunnerJob : IJobEntity
 
-         {
 
-             [ReadOnly] public float deltaTime;
 
-             
 
-             public void Execute(ref LocalTransform localTransform, in RunnerStateComponent runnerState)
 
-             {
 
-                 float z = localTransform.Position.z;
 
-                 z += deltaTime * runnerState.speed;
 
-                 while (z > runnerState.fieldSizeZ / 2f) z -= runnerState.fieldSizeZ; 
 
-                 localTransform.Position = new float3(localTransform.Position.x, 0f, z);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |