Initial Commit

This commit is contained in:
Simeon Radivoev 2022-02-12 12:53:50 +02:00
commit ee5c2f922d
Signed by: simeonradivoev
GPG key ID: 7611A451D2A5D37A
2255 changed files with 547750 additions and 0 deletions

View file

@ -0,0 +1,31 @@
using Unity.Collections;
using Unity.Entities;
using Unity.Jobs;
using UnityEngine;
using UnityEngine.Jobs;
public class Rotation2DSystem : JobComponentSystem
{
private EntityQuery rotations;
protected override void OnCreate()
{
rotations = GetEntityQuery(ComponentType.ReadOnly<Rotation2D>(), ComponentType.ReadOnly<Transform>());
}
protected override JobHandle OnUpdate(JobHandle inputDeps)
{
var job = new RotationJob { Rotations = rotations.ToComponentDataArray<Rotation2D>(Allocator.TempJob) };
return job.Schedule(rotations.GetTransformAccessArray(), inputDeps);
}
private struct RotationJob : IJobParallelForTransform
{
[ReadOnly, DeallocateOnJobCompletion] public NativeArray<Rotation2D> Rotations;
public void Execute(int index, TransformAccess transform)
{
transform.rotation = Quaternion.Euler(0, Rotations[index].Axis >= 0 ? 0 : 180, Rotations[index].Rotation);
}
}
}