您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

56 行
1.5 KiB

using Unity.Collections;
using Unity.Jobs;
using Unity.Burst;
namespace Unity.Entities
{
/// <summary>
/// Copy ComponentDataArray to NativeArray Job.
/// </summary>
/// <typeparam name="T">Component data type stored in ComponentDataArray to be copied to NativeArray<T></typeparam>
[BurstCompile]
public struct CopyComponentData<T> : IJobParallelFor
where T : struct, IComponentData
{
[ReadOnly] public ComponentDataArray<T> Source;
public NativeArray<T> Results;
public void Execute(int index)
{
Results[index] = Source[index];
}
}
/// <summary>
/// Assign Value to each element of NativeArray
/// </summary>
/// <typeparam name="T">Type of element in NativeArray</typeparam>
[BurstCompile]
public struct MemsetNativeArray<T> : IJobParallelFor
where T : struct
{
public NativeArray<T> Source;
public T Value;
// #todo Need equivalent of IJobParallelFor that's per-chunk so we can do memset per chunk here.
public void Execute(int index)
{
Source[index] = Value;
}
}
/// <summary>
/// Copy Entities from EntityArray to NativeArray<Entity>
/// </summary>
[BurstCompile]
public struct CopyEntities : IJobParallelFor
{
[ReadOnly] public EntityArray Source;
public NativeArray<Entity> Results;
public void Execute(int index)
{
Results[index] = Source[index];
}
}
}