Boat Attack使用了Universal RP的许多新图形功能,可以用于探索 Universal RP 的使用方式和技巧。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

17481 行
1.1 MiB

//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
// Generated by T4 (TextTransform.exe) from the file IJobForEach.tt
//
using Unity.Collections;
using Unity.Collections.LowLevel.Unsafe;
using Unity.Jobs;
using Unity.Jobs.LowLevel.Unsafe;
using System.Runtime.InteropServices;
using UnityEngine.Scripting;
using System;
namespace Unity.Entities
{
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_C<,>))]
#endif
public interface IJobForEach<T0> : IJobForEach_C<T0>
where T0 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EC<,>))]
#endif
public interface IJobForEachWithEntity<T0> : IJobForEachWithEntity_EC<T0>
where T0 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CC<,,>))]
#endif
public interface IJobForEach<T0, T1> : IJobForEach_CC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECC<,,>))]
#endif
public interface IJobForEachWithEntity<T0, T1> : IJobForEachWithEntity_ECC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CCC<,,,>))]
#endif
public interface IJobForEach<T0, T1, T2> : IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECCC<,,,>))]
#endif
public interface IJobForEachWithEntity<T0, T1, T2> : IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CCCC<,,,,>))]
#endif
public interface IJobForEach<T0, T1, T2, T3> : IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECCCC<,,,,>))]
#endif
public interface IJobForEachWithEntity<T0, T1, T2, T3> : IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CCCCC<,,,,,>))]
#endif
public interface IJobForEach<T0, T1, T2, T3, T4> : IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECCCCC<,,,,,>))]
#endif
public interface IJobForEachWithEntity<T0, T1, T2, T3, T4> : IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CCCCCC<,,,,,,>))]
#endif
public interface IJobForEach<T0, T1, T2, T3, T4, T5> : IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECCCCCC<,,,,,,>))]
#endif
public interface IJobForEachWithEntity<T0, T1, T2, T3, T4, T5> : IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_C<,>))]
#endif
public interface IJobForEach_C<T0> : JobForEachExtensions.IBaseJobForEach_C
where T0 : struct, IComponentData
{
void Execute(ref T0 c0);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EC<,>))]
#endif
public interface IJobForEachWithEntity_EC<T0> : JobForEachExtensions.IBaseJobForEach_EC
where T0 : struct, IComponentData
{
void Execute(Entity entity, int index, ref T0 c0);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_B<,>))]
#endif
public interface IJobForEach_B<T0> : JobForEachExtensions.IBaseJobForEach_B
where T0 : struct, IBufferElementData
{
void Execute(DynamicBuffer<T0> b0);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EB<,>))]
#endif
public interface IJobForEachWithEntity_EB<T0> : JobForEachExtensions.IBaseJobForEach_EB
where T0 : struct, IBufferElementData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CC<,,>))]
#endif
public interface IJobForEach_CC<T0, T1> : JobForEachExtensions.IBaseJobForEach_CC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
void Execute(ref T0 c0, ref T1 c1);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECC<,,>))]
#endif
public interface IJobForEachWithEntity_ECC<T0, T1> : JobForEachExtensions.IBaseJobForEach_ECC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
void Execute(Entity entity, int index, ref T0 c0, ref T1 c1);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BC<,,>))]
#endif
public interface IJobForEach_BC<T0, T1> : JobForEachExtensions.IBaseJobForEach_BC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, ref T1 c1);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBC<,,>))]
#endif
public interface IJobForEachWithEntity_EBC<T0, T1> : JobForEachExtensions.IBaseJobForEach_EBC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, ref T1 c1);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BB<,,>))]
#endif
public interface IJobForEach_BB<T0, T1> : JobForEachExtensions.IBaseJobForEach_BB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBB<,,>))]
#endif
public interface IJobForEachWithEntity_EBB<T0, T1> : JobForEachExtensions.IBaseJobForEach_EBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CCC<,,,>))]
#endif
public interface IJobForEach_CCC<T0, T1, T2> : JobForEachExtensions.IBaseJobForEach_CCC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
void Execute(ref T0 c0, ref T1 c1, ref T2 c2);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECCC<,,,>))]
#endif
public interface IJobForEachWithEntity_ECCC<T0, T1, T2> : JobForEachExtensions.IBaseJobForEach_ECCC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
void Execute(Entity entity, int index, ref T0 c0, ref T1 c1, ref T2 c2);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BCC<,,,>))]
#endif
public interface IJobForEach_BCC<T0, T1, T2> : JobForEachExtensions.IBaseJobForEach_BCC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, ref T1 c1, ref T2 c2);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBCC<,,,>))]
#endif
public interface IJobForEachWithEntity_EBCC<T0, T1, T2> : JobForEachExtensions.IBaseJobForEach_EBCC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, ref T1 c1, ref T2 c2);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBC<,,,>))]
#endif
public interface IJobForEach_BBC<T0, T1, T2> : JobForEachExtensions.IBaseJobForEach_BBC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, ref T2 c2);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBC<,,,>))]
#endif
public interface IJobForEachWithEntity_EBBC<T0, T1, T2> : JobForEachExtensions.IBaseJobForEach_EBBC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, ref T2 c2);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBB<,,,>))]
#endif
public interface IJobForEach_BBB<T0, T1, T2> : JobForEachExtensions.IBaseJobForEach_BBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBB<,,,>))]
#endif
public interface IJobForEachWithEntity_EBBB<T0, T1, T2> : JobForEachExtensions.IBaseJobForEach_EBBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CCCC<,,,,>))]
#endif
public interface IJobForEach_CCCC<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_CCCC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
void Execute(ref T0 c0, ref T1 c1, ref T2 c2, ref T3 c3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECCCC<,,,,>))]
#endif
public interface IJobForEachWithEntity_ECCCC<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_ECCCC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
void Execute(Entity entity, int index, ref T0 c0, ref T1 c1, ref T2 c2, ref T3 c3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BCCC<,,,,>))]
#endif
public interface IJobForEach_BCCC<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_BCCC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, ref T1 c1, ref T2 c2, ref T3 c3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBCCC<,,,,>))]
#endif
public interface IJobForEachWithEntity_EBCCC<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_EBCCC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, ref T1 c1, ref T2 c2, ref T3 c3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBCC<,,,,>))]
#endif
public interface IJobForEach_BBCC<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_BBCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, ref T2 c2, ref T3 c3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBCC<,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBCC<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_EBBCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, ref T2 c2, ref T3 c3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBC<,,,,>))]
#endif
public interface IJobForEach_BBBC<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_BBBC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, ref T3 c3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBC<,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBC<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_EBBBC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, ref T3 c3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBB<,,,,>))]
#endif
public interface IJobForEach_BBBB<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_BBBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBB<,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBB<T0, T1, T2, T3> : JobForEachExtensions.IBaseJobForEach_EBBBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CCCCC<,,,,,>))]
#endif
public interface IJobForEach_CCCCC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_CCCCC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
void Execute(ref T0 c0, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECCCCC<,,,,,>))]
#endif
public interface IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_ECCCCC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
void Execute(Entity entity, int index, ref T0 c0, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BCCCC<,,,,,>))]
#endif
public interface IJobForEach_BCCCC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_BCCCC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBCCCC<,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBCCCC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_EBCCCC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBCCC<,,,,,>))]
#endif
public interface IJobForEach_BBCCC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_BBCCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, ref T2 c2, ref T3 c3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBCCC<,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBCCC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_EBBCCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, ref T2 c2, ref T3 c3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBCC<,,,,,>))]
#endif
public interface IJobForEach_BBBCC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_BBBCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, ref T3 c3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBCC<,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBCC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_EBBBCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, ref T3 c3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBBC<,,,,,>))]
#endif
public interface IJobForEach_BBBBC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_BBBBC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBBC<,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBBC<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_EBBBBC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, ref T4 c4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBBB<,,,,,>))]
#endif
public interface IJobForEach_BBBBB<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_BBBBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, DynamicBuffer<T4> b4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBBB<,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBBB<T0, T1, T2, T3, T4> : JobForEachExtensions.IBaseJobForEach_EBBBBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, DynamicBuffer<T4> b4);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_CCCCCC<,,,,,,>))]
#endif
public interface IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_CCCCCC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(ref T0 c0, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_ECCCCCC<,,,,,,>))]
#endif
public interface IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_ECCCCCC
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(Entity entity, int index, ref T0 c0, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BCCCCC<,,,,,,>))]
#endif
public interface IJobForEach_BCCCCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_BCCCCC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBCCCCC<,,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBCCCCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_EBCCCCC
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBCCCC<,,,,,,>))]
#endif
public interface IJobForEach_BBCCCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_BBCCCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, ref T2 c2, ref T3 c3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBCCCC<,,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBCCCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_EBBCCCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, ref T2 c2, ref T3 c3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBCCC<,,,,,,>))]
#endif
public interface IJobForEach_BBBCCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_BBBCCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, ref T3 c3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBCCC<,,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBCCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_EBBBCCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, ref T3 c3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBBCC<,,,,,,>))]
#endif
public interface IJobForEach_BBBBCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_BBBBCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBBCC<,,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBBCC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_EBBBBCC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, ref T4 c4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBBBC<,,,,,,>))]
#endif
public interface IJobForEach_BBBBBC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_BBBBBC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
where T5 : struct, IComponentData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, DynamicBuffer<T4> b4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBBBC<,,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBBBC<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_EBBBBBC
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
where T5 : struct, IComponentData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, DynamicBuffer<T4> b4, ref T5 c5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_BBBBBB<,,,,,,>))]
#endif
public interface IJobForEach_BBBBBB<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_BBBBBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
where T5 : struct, IBufferElementData
{
void Execute(DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, DynamicBuffer<T4> b4, DynamicBuffer<T5> b5);
}
#if !UNITY_ZEROPLAYER
[JobProducerType(typeof(JobForEachExtensions.JobStruct_Process_EBBBBBB<,,,,,,>))]
#endif
public interface IJobForEachWithEntity_EBBBBBB<T0, T1, T2, T3, T4, T5> : JobForEachExtensions.IBaseJobForEach_EBBBBBB
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
where T5 : struct, IBufferElementData
{
void Execute(Entity entity, int index, DynamicBuffer<T0> b0, DynamicBuffer<T1> b1, DynamicBuffer<T2> b2, DynamicBuffer<T3> b3, DynamicBuffer<T4> b4, DynamicBuffer<T5> b5);
}
public static partial class JobForEachExtensions
{
#if !UNITY_DOTSPLAYER
public static JobHandle Schedule<T>(this T jobData, ComponentSystemBase system, JobHandle dependsOn = default(JobHandle))
where T : struct, IBaseJobForEach
{
var typeT = typeof(T);
if (typeof(IBaseJobForEach_C).IsAssignableFrom(typeT))
return ScheduleInternal_C(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EC).IsAssignableFrom(typeT))
return ScheduleInternal_EC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_B).IsAssignableFrom(typeT))
return ScheduleInternal_B(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EB).IsAssignableFrom(typeT))
return ScheduleInternal_EB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CC).IsAssignableFrom(typeT))
return ScheduleInternal_CC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECC).IsAssignableFrom(typeT))
return ScheduleInternal_ECC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BC).IsAssignableFrom(typeT))
return ScheduleInternal_BC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BB).IsAssignableFrom(typeT))
return ScheduleInternal_BB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBCC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBC(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBB(ref jobData, system, null, 1, dependsOn, ScheduleMode.Batched);
throw new System.ArgumentException("Not supported");
}
#endif
#if !UNITY_DOTSPLAYER
public static JobHandle ScheduleSingle<T>(this T jobData, ComponentSystemBase system, JobHandle dependsOn = default(JobHandle))
where T : struct, IBaseJobForEach
{
var typeT = typeof(T);
if (typeof(IBaseJobForEach_C).IsAssignableFrom(typeT))
return ScheduleInternal_C(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EC).IsAssignableFrom(typeT))
return ScheduleInternal_EC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_B).IsAssignableFrom(typeT))
return ScheduleInternal_B(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EB).IsAssignableFrom(typeT))
return ScheduleInternal_EB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CC).IsAssignableFrom(typeT))
return ScheduleInternal_CC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECC).IsAssignableFrom(typeT))
return ScheduleInternal_ECC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BC).IsAssignableFrom(typeT))
return ScheduleInternal_BC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BB).IsAssignableFrom(typeT))
return ScheduleInternal_BB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Batched);
throw new System.ArgumentException("Not supported");
}
#endif
#if !UNITY_DOTSPLAYER
public static JobHandle Run<T>(this T jobData, ComponentSystemBase system, JobHandle dependsOn = default(JobHandle))
where T : struct, IBaseJobForEach
{
var typeT = typeof(T);
if (typeof(IBaseJobForEach_C).IsAssignableFrom(typeT))
return ScheduleInternal_C(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EC).IsAssignableFrom(typeT))
return ScheduleInternal_EC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_B).IsAssignableFrom(typeT))
return ScheduleInternal_B(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EB).IsAssignableFrom(typeT))
return ScheduleInternal_EB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CC).IsAssignableFrom(typeT))
return ScheduleInternal_CC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECC).IsAssignableFrom(typeT))
return ScheduleInternal_ECC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BC).IsAssignableFrom(typeT))
return ScheduleInternal_BC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BB).IsAssignableFrom(typeT))
return ScheduleInternal_BB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBCC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBC(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBB(ref jobData, system, null, -1, dependsOn, ScheduleMode.Run);
throw new System.ArgumentException("Not supported");
}
#endif
#if !UNITY_DOTSPLAYER
public static JobHandle Schedule<T>(this T jobData, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where T : struct, IBaseJobForEach
{
var typeT = typeof(T);
if (typeof(IBaseJobForEach_C).IsAssignableFrom(typeT))
return ScheduleInternal_C(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EC).IsAssignableFrom(typeT))
return ScheduleInternal_EC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_B).IsAssignableFrom(typeT))
return ScheduleInternal_B(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EB).IsAssignableFrom(typeT))
return ScheduleInternal_EB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CC).IsAssignableFrom(typeT))
return ScheduleInternal_CC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECC).IsAssignableFrom(typeT))
return ScheduleInternal_ECC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BC).IsAssignableFrom(typeT))
return ScheduleInternal_BC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BB).IsAssignableFrom(typeT))
return ScheduleInternal_BB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBCC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBC(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBB(ref jobData, null, query, 1, dependsOn, ScheduleMode.Batched);
throw new System.ArgumentException("Not supported");
}
#endif
#if !UNITY_DOTSPLAYER
public static JobHandle ScheduleSingle<T>(this T jobData, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where T : struct, IBaseJobForEach
{
var typeT = typeof(T);
if (typeof(IBaseJobForEach_C).IsAssignableFrom(typeT))
return ScheduleInternal_C(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EC).IsAssignableFrom(typeT))
return ScheduleInternal_EC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_B).IsAssignableFrom(typeT))
return ScheduleInternal_B(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EB).IsAssignableFrom(typeT))
return ScheduleInternal_EB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CC).IsAssignableFrom(typeT))
return ScheduleInternal_CC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECC).IsAssignableFrom(typeT))
return ScheduleInternal_ECC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BC).IsAssignableFrom(typeT))
return ScheduleInternal_BC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BB).IsAssignableFrom(typeT))
return ScheduleInternal_BB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_CCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_ECCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_BBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobForEach_EBBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Batched);
throw new System.ArgumentException("Not supported");
}
#endif
#if !UNITY_DOTSPLAYER
public static JobHandle Run<T>(this T jobData, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where T : struct, IBaseJobForEach
{
var typeT = typeof(T);
if (typeof(IBaseJobForEach_C).IsAssignableFrom(typeT))
return ScheduleInternal_C(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EC).IsAssignableFrom(typeT))
return ScheduleInternal_EC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_B).IsAssignableFrom(typeT))
return ScheduleInternal_B(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EB).IsAssignableFrom(typeT))
return ScheduleInternal_EB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CC).IsAssignableFrom(typeT))
return ScheduleInternal_CC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECC).IsAssignableFrom(typeT))
return ScheduleInternal_ECC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BC).IsAssignableFrom(typeT))
return ScheduleInternal_BC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BB).IsAssignableFrom(typeT))
return ScheduleInternal_BB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_CCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_CCCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_ECCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_ECCCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BCCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBCCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBCCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBCCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBCCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBCCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBCCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBCC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBCC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBBC).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBC(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_BBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_BBBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
if (typeof(IBaseJobForEach_EBBBBBB).IsAssignableFrom(typeT))
return ScheduleInternal_EBBBBBB(ref jobData, null, query, -1, dependsOn, ScheduleMode.Run);
throw new System.ArgumentException("Not supported");
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_C<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_C<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_C<,>), isParallelFor, ref JobStruct_ProcessInfer_C<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_C<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_C<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_C : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_C<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_C<T, T0>
where T : struct, IJobForEach_C<T0>
where T0 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_C<T, T0>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_C<T, T0> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_C<T, T0> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_C<T, T0> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EC<,>), isParallelFor, ref JobStruct_ProcessInfer_EC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EC<T, T0>
where T : struct, IJobForEachWithEntity_EC<T0>
where T0 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EC<T, T0>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EC<T, T0> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EC<T, T0> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EC<T, T0> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_B<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_B<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_B<,>), isParallelFor, ref JobStruct_ProcessInfer_B<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_B<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_B<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_B : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_B<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_B<T, T0>
where T : struct, IJobForEach_B<T0>
where T0 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_B<T, T0>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_B<T, T0> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_B<T, T0> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_B<T, T0> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EB<,>), isParallelFor, ref JobStruct_ProcessInfer_EB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EB<T, T0>
where T : struct, IJobForEachWithEntity_EB<T0>
where T0 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EB<T, T0>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EB<T, T0> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EB<T, T0> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EB<T, T0> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_CC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_CC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_CC<,,>), isParallelFor, ref JobStruct_ProcessInfer_CC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_CC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_CC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_CC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_CC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_CC<T, T0, T1>
where T : struct, IJobForEach_CC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_CC<T, T0, T1>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_CC<T, T0, T1> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_CC<T, T0, T1> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_CC<T, T0, T1> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_ECC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_ECC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_ECC<,,>), isParallelFor, ref JobStruct_ProcessInfer_ECC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_ECC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_ECC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_ECC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_ECC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_ECC<T, T0, T1>
where T : struct, IJobForEachWithEntity_ECC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_ECC<T, T0, T1>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_ECC<T, T0, T1> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_ECC<T, T0, T1> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_ECC<T, T0, T1> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BC<,,>), isParallelFor, ref JobStruct_ProcessInfer_BC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BC<T, T0, T1>
where T : struct, IJobForEach_BC<T0, T1>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BC<T, T0, T1>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BC<T, T0, T1> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BC<T, T0, T1> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BC<T, T0, T1> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBC<,,>), isParallelFor, ref JobStruct_ProcessInfer_EBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBC<T, T0, T1>
where T : struct, IJobForEachWithEntity_EBC<T0, T1>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBC<T, T0, T1>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBC<T, T0, T1> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBC<T, T0, T1> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBC<T, T0, T1> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BB<,,>), isParallelFor, ref JobStruct_ProcessInfer_BB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BB<T, T0, T1>
where T : struct, IJobForEach_BB<T0, T1>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BB<T, T0, T1>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BB<T, T0, T1> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BB<T, T0, T1> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BB<T, T0, T1> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBB<,,>), isParallelFor, ref JobStruct_ProcessInfer_EBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBB<T, T0, T1>
where T : struct, IJobForEachWithEntity_EBB<T0, T1>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBB<T, T0, T1>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBB<T, T0, T1> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBB<T, T0, T1> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBB<T, T0, T1> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_CCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_CCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_CCC<,,,>), isParallelFor, ref JobStruct_ProcessInfer_CCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_CCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_CCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_CCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_CCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_CCC<T, T0, T1, T2>
where T : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_CCC<T, T0, T1, T2>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_CCC<T, T0, T1, T2> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_CCC<T, T0, T1, T2> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_CCC<T, T0, T1, T2> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_ECCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_ECCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_ECCC<,,,>), isParallelFor, ref JobStruct_ProcessInfer_ECCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_ECCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_ECCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_ECCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_ECCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_ECCC<T, T0, T1, T2>
where T : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_ECCC<T, T0, T1, T2>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_ECCC<T, T0, T1, T2> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_ECCC<T, T0, T1, T2> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_ECCC<T, T0, T1, T2> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BCC<,,,>), isParallelFor, ref JobStruct_ProcessInfer_BCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BCC<T, T0, T1, T2>
where T : struct, IJobForEach_BCC<T0, T1, T2>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BCC<T, T0, T1, T2>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BCC<T, T0, T1, T2> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BCC<T, T0, T1, T2> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BCC<T, T0, T1, T2> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBCC<,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBCC<T, T0, T1, T2>
where T : struct, IJobForEachWithEntity_EBCC<T0, T1, T2>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBCC<T, T0, T1, T2>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBCC<T, T0, T1, T2> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBCC<T, T0, T1, T2> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBCC<T, T0, T1, T2> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBC<,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBC<T, T0, T1, T2>
where T : struct, IJobForEach_BBC<T0, T1, T2>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBC<T, T0, T1, T2>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBC<T, T0, T1, T2> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBC<T, T0, T1, T2> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBC<T, T0, T1, T2> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBC<,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBC<T, T0, T1, T2>
where T : struct, IJobForEachWithEntity_EBBC<T0, T1, T2>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBC<T, T0, T1, T2>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBC<T, T0, T1, T2> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBC<T, T0, T1, T2> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBC<T, T0, T1, T2> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBB<,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBB<T, T0, T1, T2>
where T : struct, IJobForEach_BBB<T0, T1, T2>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBB<T, T0, T1, T2>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBB<T, T0, T1, T2> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBB<T, T0, T1, T2> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBB<T, T0, T1, T2> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBB<,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBB<T, T0, T1, T2>
where T : struct, IJobForEachWithEntity_EBBB<T0, T1, T2>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBB<T, T0, T1, T2>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBB<T, T0, T1, T2> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBB<T, T0, T1, T2> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBB<T, T0, T1, T2> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_CCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_CCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_CCCC<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_CCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_CCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_CCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_CCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_CCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_CCCC<T, T0, T1, T2, T3>
where T : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_CCCC<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_CCCC<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_CCCC<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_CCCC<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_ECCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_ECCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_ECCCC<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_ECCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_ECCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_ECCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_ECCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_ECCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_ECCCC<T, T0, T1, T2, T3>
where T : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_ECCCC<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_ECCCC<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_ECCCC<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_ECCCC<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BCCC<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BCCC<T, T0, T1, T2, T3>
where T : struct, IJobForEach_BCCC<T0, T1, T2, T3>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BCCC<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BCCC<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BCCC<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BCCC<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBCCC<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBCCC<T, T0, T1, T2, T3>
where T : struct, IJobForEachWithEntity_EBCCC<T0, T1, T2, T3>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBCCC<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBCCC<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBCCC<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBCCC<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBCC<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBCC<T, T0, T1, T2, T3>
where T : struct, IJobForEach_BBCC<T0, T1, T2, T3>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBCC<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBCC<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBCC<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBCC<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBCC<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBCC<T, T0, T1, T2, T3>
where T : struct, IJobForEachWithEntity_EBBCC<T0, T1, T2, T3>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBCC<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBCC<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBCC<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBCC<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBC<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBC<T, T0, T1, T2, T3>
where T : struct, IJobForEach_BBBC<T0, T1, T2, T3>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBC<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBC<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBC<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBC<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBC<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBC<T, T0, T1, T2, T3>
where T : struct, IJobForEachWithEntity_EBBBC<T0, T1, T2, T3>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBC<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBC<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBC<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBC<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBB<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBB<T, T0, T1, T2, T3>
where T : struct, IJobForEach_BBBB<T0, T1, T2, T3>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBB<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBB<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBB<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBB<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], buffer3[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBB<,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBB<T, T0, T1, T2, T3>
where T : struct, IJobForEachWithEntity_EBBBB<T0, T1, T2, T3>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBB<T, T0, T1, T2, T3>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBB<T, T0, T1, T2, T3> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBB<T, T0, T1, T2, T3> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBB<T, T0, T1, T2, T3> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], buffer3[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_CCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_CCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_CCCCC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_CCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_CCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_CCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_CCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_CCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_CCCCC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_CCCCC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_CCCCC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_CCCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_CCCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_ECCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_ECCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_ECCCCC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_ECCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_ECCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_ECCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_ECCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_ECCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_ECCCCC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_ECCCCC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_ECCCCC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_ECCCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_ECCCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BCCCC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BCCCC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEach_BCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BCCCC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BCCCC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BCCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BCCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBCCCC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBCCCC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEachWithEntity_EBCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBCCCC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBCCCC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBCCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBCCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBCCC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBCCC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEach_BBCCC<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBCCC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBCCC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBCCC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBCCC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEachWithEntity_EBBCCC<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBCCC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBCCC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBCCC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBCC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBCC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEach_BBBCC<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBCC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBCC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBCC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBCC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBCC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBCC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEachWithEntity_EBBBCC<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBCC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBCC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBCC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBCC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBBC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBBC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEach_BBBBC<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBBC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBBC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBBC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBBC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], buffer3[i], ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBBC<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBBC<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEachWithEntity_EBBBBC<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBBC<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBBC<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBBC<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBBC<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], buffer3[i], ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBBB<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBBB<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEach_BBBBB<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBBB<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBBB<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBBB<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBBB<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety4, jobData.Iterator.m_BufferSafety4);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], buffer3[i], buffer4[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBBB<,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBBB<T, T0, T1, T2, T3, T4>
where T : struct, IJobForEachWithEntity_EBBBBB<T0, T1, T2, T3, T4>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBBB<T, T0, T1, T2, T3, T4>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBBB<T, T0, T1, T2, T3, T4> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBBB<T, T0, T1, T2, T3, T4> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBBB<T, T0, T1, T2, T3, T4> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety4, jobData.Iterator.m_BufferSafety4);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], buffer3[i], buffer4[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_CCCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_CCCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_CCCCCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_CCCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_CCCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_CCCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_CCCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_CCCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_CCCCCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_CCCCCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_CCCCCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_CCCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_CCCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_ECCCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_ECCCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_ECCCCCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_ECCCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_ECCCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_ECCCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_ECCCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_ECCCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_ECCCCCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_ECCCCCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_ECCCCCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_ECCCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_ECCCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
var ptr0 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion));
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, ref UnsafeUtilityEx.ArrayElementAsRef<T0>(ptr0, i), ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BCCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BCCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BCCCCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BCCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BCCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BCCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BCCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BCCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BCCCCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEach_BCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BCCCCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BCCCCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BCCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BCCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBCCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBCCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBCCCCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBCCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBCCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBCCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBCCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBCCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBCCCCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEachWithEntity_EBCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBCCCCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBCCCCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBCCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBCCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr1 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion));
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], ref UnsafeUtilityEx.ArrayElementAsRef<T1>(ptr1, i), ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBCCCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBCCCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEach_BBCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBCCCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBCCCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBCCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBCCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBCCCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBCCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBCCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBCCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBCCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBCCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBCCCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEachWithEntity_EBBCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBCCCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBCCCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBCCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr2 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion));
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], ref UnsafeUtilityEx.ArrayElementAsRef<T2>(ptr2, i), ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBCCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBCCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEach_BBBCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBCCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBCCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBCCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBCCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBCCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBCCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBCCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBCCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBCCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBCCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBCCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEachWithEntity_EBBBCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBCCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBCCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBCCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr3 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion));
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], ref UnsafeUtilityEx.ArrayElementAsRef<T3>(ptr3, i), ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBBCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBBCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBBCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBBCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBBCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBBCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBBCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBBCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBBCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEach_BBBBCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBBCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBBCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBBCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBBCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], buffer3[i], ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBBCC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBBCC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBBCC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBBCC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBBCC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBBCC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBBCC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBBCC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBBCC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEachWithEntity_EBBBBCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBBCC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBBCC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBBCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBBCC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr4 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion));
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], buffer3[i], ref UnsafeUtilityEx.ArrayElementAsRef<T4>(ptr4, i), ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBBBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBBBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBBBC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBBBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBBBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBBBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBBBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBBBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBBBC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEach_BBBBBC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBBBC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBBBC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBBBC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBBBC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety4, jobData.Iterator.m_BufferSafety4);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], buffer3[i], buffer4[i], ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBBBC<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBBBC<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBBBC<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBBBC<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBBBC<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBBBC<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBBBC : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBBBC<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBBBC<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEachWithEntity_EBBBBBC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
where T5 : struct, IComponentData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBBBC<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBBBC<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBBBC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBBBC<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety4, jobData.Iterator.m_BufferSafety4);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion);
#endif
var ptr5 = UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion));
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], buffer3[i], buffer4[i], ref UnsafeUtilityEx.ArrayElementAsRef<T5>(ptr5, i));
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_BBBBBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_BBBBBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_BBBBBB<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_BBBBBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_BBBBBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_BBBBBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_BBBBBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_BBBBBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_BBBBBB<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEach_BBBBBB<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
where T5 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_BBBBBB<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_BBBBBB<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_BBBBBB<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_BBBBBB<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety4, jobData.Iterator.m_BufferSafety4);
var buffer5 = ComponentChunkIterator.GetChunkBufferAccessor<T5>(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety5, jobData.Iterator.m_BufferSafety5);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion);
var buffer5 = ComponentChunkIterator.GetChunkBufferAccessor<T5>(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(buffer0[i], buffer1[i], buffer2[i], buffer3[i], buffer4[i], buffer5[i]);
}
}
}
}
#endif
#if !UNITY_DOTSPLAYER
internal static unsafe JobHandle ScheduleInternal_EBBBBBB<T>(ref T jobData, ComponentSystemBase system, EntityQuery query, int innerloopBatchCount, JobHandle dependsOn, ScheduleMode mode)
where T : struct
{
JobStruct_ProcessInfer_EBBBBBB<T> fullData;
fullData.Data = jobData;
var isParallelFor = innerloopBatchCount != -1;
Initialize(system, query, typeof(T), typeof(JobStruct_Process_EBBBBBB<,,,,,,>), isParallelFor, ref JobStruct_ProcessInfer_EBBBBBB<T>.Cache, out fullData.Iterator);
var unfilteredChunkCount = fullData.Iterator.m_Length;
var iterator = JobStruct_ProcessInfer_EBBBBBB<T>.Cache.EntityQuery.GetComponentChunkIterator();
var prefilterHandle = ComponentChunkIterator.PreparePrefilteredChunkLists(unfilteredChunkCount, iterator.m_MatchingArchetypeList, iterator.m_Filter, dependsOn, mode, out fullData.PrefilterData, out var deferredCountData);
return Schedule(UnsafeUtility.AddressOf(ref fullData), fullData.PrefilterData, fullData.Iterator.m_Length, innerloopBatchCount, isParallelFor, iterator.RequiresFilter(), ref JobStruct_ProcessInfer_EBBBBBB<T>.Cache, deferredCountData, prefilterHandle, mode);
}
#endif
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public interface IBaseJobForEach_EBBBBBB : IBaseJobForEach {}
#if !UNITY_DOTSPLAYER
[StructLayout(LayoutKind.Sequential)]
private struct JobStruct_ProcessInfer_EBBBBBB<T> where T : struct
{
public static JobForEachCache Cache;
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
}
[StructLayout(LayoutKind.Sequential)]
internal struct JobStruct_Process_EBBBBBB<T, T0, T1, T2, T3, T4, T5>
where T : struct, IJobForEachWithEntity_EBBBBBB<T0, T1, T2, T3, T4, T5>
where T0 : struct, IBufferElementData
where T1 : struct, IBufferElementData
where T2 : struct, IBufferElementData
where T3 : struct, IBufferElementData
where T4 : struct, IBufferElementData
where T5 : struct, IBufferElementData
{
public ProcessIterationData Iterator;
public T Data;
[DeallocateOnJobCompletion]
[NativeDisableContainerSafetyRestriction]
public NativeArray<byte> PrefilterData;
[Preserve]
public static IntPtr Initialize(JobType jobType)
{
return JobsUtility.CreateJobReflectionData(typeof(JobStruct_Process_EBBBBBB<T, T0, T1, T2, T3, T4, T5>), typeof(T), jobType, (ExecuteJobFunction) Execute);
}
delegate void ExecuteJobFunction(ref JobStruct_Process_EBBBBBB<T, T0, T1, T2, T3, T4, T5> data, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
public static unsafe void Execute(ref JobStruct_Process_EBBBBBB<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
{
ComponentChunkIterator.UnpackPrefilterData(jobData.PrefilterData, out var chunks, out var entityIndices, out var chunkCount);
if (jobData.Iterator.m_IsParallelFor)
{
int begin, end;
while (JobsUtility.GetWorkStealingRange(ref ranges, jobIndex, out begin, out end))
ExecuteChunk(ref jobData, bufferRangePatchData, begin, end, chunks, entityIndices);
}
else
{
ExecuteChunk(ref jobData, bufferRangePatchData, 0, chunkCount, chunks, entityIndices);
}
}
static unsafe void ExecuteChunk(ref JobStruct_Process_EBBBBBB<T, T0, T1, T2, T3, T4, T5> jobData, IntPtr bufferRangePatchData, int begin, int end, ArchetypeChunk* chunks, int* entityIndices)
{
var typeLookupCache0 = 0;
var typeLookupCache1 = 0;
var typeLookupCache2 = 0;
var typeLookupCache3 = 0;
var typeLookupCache4 = 0;
var typeLookupCache5 = 0;
for (var blockIndex = begin; blockIndex != end; ++blockIndex)
{
var chunk = chunks[blockIndex];
int beginIndex = entityIndices[blockIndex];
var count = chunk.Count;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobData), beginIndex, beginIndex + count);
#endif
var ptrE = (Entity*)UnsafeUtilityEx.RestrictNoAlias(ComponentChunkIterator.GetChunkComponentDataPtr(chunk.m_Chunk, false, 0, jobData.Iterator.GlobalSystemVersion));
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex0, ref typeLookupCache0);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex1, ref typeLookupCache1);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex2, ref typeLookupCache2);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex3, ref typeLookupCache3);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex4, ref typeLookupCache4);
ChunkDataUtility.GetIndexInTypeArray(chunk.m_Chunk->Archetype, jobData.Iterator.TypeIndex5, ref typeLookupCache5);
#if ENABLE_UNITY_COLLECTIONS_CHECKS
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety0, jobData.Iterator.m_BufferSafety0);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety1, jobData.Iterator.m_BufferSafety1);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety2, jobData.Iterator.m_BufferSafety2);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety3, jobData.Iterator.m_BufferSafety3);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety4, jobData.Iterator.m_BufferSafety4);
var buffer5 = ComponentChunkIterator.GetChunkBufferAccessor<T5>(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion, jobData.Iterator.m_Safety5, jobData.Iterator.m_BufferSafety5);
#else
var buffer0 = ComponentChunkIterator.GetChunkBufferAccessor<T0>(chunk.m_Chunk, jobData.Iterator.IsReadOnly0 == 0, typeLookupCache0, jobData.Iterator.GlobalSystemVersion);
var buffer1 = ComponentChunkIterator.GetChunkBufferAccessor<T1>(chunk.m_Chunk, jobData.Iterator.IsReadOnly1 == 0, typeLookupCache1, jobData.Iterator.GlobalSystemVersion);
var buffer2 = ComponentChunkIterator.GetChunkBufferAccessor<T2>(chunk.m_Chunk, jobData.Iterator.IsReadOnly2 == 0, typeLookupCache2, jobData.Iterator.GlobalSystemVersion);
var buffer3 = ComponentChunkIterator.GetChunkBufferAccessor<T3>(chunk.m_Chunk, jobData.Iterator.IsReadOnly3 == 0, typeLookupCache3, jobData.Iterator.GlobalSystemVersion);
var buffer4 = ComponentChunkIterator.GetChunkBufferAccessor<T4>(chunk.m_Chunk, jobData.Iterator.IsReadOnly4 == 0, typeLookupCache4, jobData.Iterator.GlobalSystemVersion);
var buffer5 = ComponentChunkIterator.GetChunkBufferAccessor<T5>(chunk.m_Chunk, jobData.Iterator.IsReadOnly5 == 0, typeLookupCache5, jobData.Iterator.GlobalSystemVersion);
#endif
for (var i = 0; i != count; i++)
{
jobData.Data.Execute(ptrE[i], i + beginIndex, buffer0[i], buffer1[i], buffer2[i], buffer3[i], buffer4[i], buffer5[i]);
}
}
}
}
#endif
#if UNITY_DOTSPLAYER
internal unsafe static JobHandle Schedule_Query_rD<TJob, T0>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_C<T0>
where T0 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wD<TJob, T0>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_C<T0>
where T0 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErD<TJob, T0>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_EC<T0>
where T0 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwD<TJob, T0>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_EC<T0>
where T0 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrD<TJob, T0, T1>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrD<TJob, T0, T1>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwD<TJob, T0, T1>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwD<TJob, T0, T1>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrD<TJob, T0, T1>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrD<TJob, T0, T1>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwD<TJob, T0, T1>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwD<TJob, T0, T1>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECC<T0, T1>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwD<TJob, T0, T1, T2>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCC<T0, T1, T2>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDrD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDwD<TJob, T0, T1, T2, T3>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCC<T0, T1, T2, T3>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDrDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDwDrD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDrDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDwDwD<TJob, T0, T1, T2, T3, T4>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCC<T0, T1, T2, T3, T4>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDrDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDrDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDrDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDrDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDrDwDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDrDwDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_rDwDwDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_wDwDwDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEach_CCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDrDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDwDrDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDrDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDwDwDrD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(true);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafeReadOnlyPtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDrDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDwDrDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(true);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafeReadOnlyPtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDrDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(true);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafeReadOnlyPtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDrDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDrDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDrDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDrDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(true);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafeReadOnlyPtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDrDwDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDrDwDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(true);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafeReadOnlyPtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_ErDwDwDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(true);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafeReadOnlyPtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
internal unsafe static JobHandle Schedule_Query_EwDwDwDwDwDwD<TJob, T0, T1, T2, T3, T4, T5>(this TJob job, EntityQuery query, JobHandle dependsOn = default(JobHandle))
where TJob : struct, IJobForEachWithEntity_ECCCCCC<T0, T1, T2, T3, T4, T5>
where T0 : struct, IComponentData
where T1 : struct, IComponentData
where T2 : struct, IComponentData
where T3 : struct, IComponentData
where T4 : struct, IComponentData
where T5 : struct, IComponentData
{
ArchetypeChunkEntityType entityType = World.Active.EntityManager.GetArchetypeChunkEntityType();
ArchetypeChunkComponentType<T0> chunkComponentType0 = World.Active.EntityManager.GetArchetypeChunkComponentType<T0>(false);
ArchetypeChunkComponentType<T1> chunkComponentType1 = World.Active.EntityManager.GetArchetypeChunkComponentType<T1>(false);
ArchetypeChunkComponentType<T2> chunkComponentType2 = World.Active.EntityManager.GetArchetypeChunkComponentType<T2>(false);
ArchetypeChunkComponentType<T3> chunkComponentType3 = World.Active.EntityManager.GetArchetypeChunkComponentType<T3>(false);
ArchetypeChunkComponentType<T4> chunkComponentType4 = World.Active.EntityManager.GetArchetypeChunkComponentType<T4>(false);
ArchetypeChunkComponentType<T5> chunkComponentType5 = World.Active.EntityManager.GetArchetypeChunkComponentType<T5>(false);
using (var chunks = query.CreateArchetypeChunkArray(Allocator.TempJob))
{
foreach (var chunk in chunks)
{
var entityArray = (Entity*)chunk.GetNativeArray(entityType).GetUnsafeReadOnlyPtr();
var array0 = chunk.GetNativeArray(chunkComponentType0).GetUnsafePtr();
var array1 = chunk.GetNativeArray(chunkComponentType1).GetUnsafePtr();
var array2 = chunk.GetNativeArray(chunkComponentType2).GetUnsafePtr();
var array3 = chunk.GetNativeArray(chunkComponentType3).GetUnsafePtr();
var array4 = chunk.GetNativeArray(chunkComponentType4).GetUnsafePtr();
var array5 = chunk.GetNativeArray(chunkComponentType5).GetUnsafePtr();
for (int i = 0, count = chunk.Count; i < count; ++i)
job.Execute(
entityArray[i], entityArray[i].Index,
ref UnsafeUtilityEx.ArrayElementAsRef<T0>(array0, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T1>(array1, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T2>(array2, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T3>(array3, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T4>(array4, i),
ref UnsafeUtilityEx.ArrayElementAsRef<T5>(array5, i)
);
}
}
DoDeallocateOnJobCompletion(job);
return new JobHandle();
}
#endif
}
}