您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
39 行
827 B
39 行
827 B
using Unity.Entities;
|
|
using Unity.Transforms;
|
|
using Unity.Collections;
|
|
using Unity.Mathematics;
|
|
using Unity.Jobs;
|
|
|
|
[AlwaysSynchronizeSystem]
|
|
public class BallGoalCheckSystem : JobComponentSystem
|
|
{
|
|
protected override JobHandle OnUpdate(JobHandle inputDeps)
|
|
{
|
|
EntityCommandBuffer ecb = new EntityCommandBuffer(Allocator.TempJob);
|
|
|
|
Entities
|
|
.WithAll<BallTag>()
|
|
.WithoutBurst()
|
|
.ForEach((Entity entity, in Translation trans) =>
|
|
{
|
|
float3 pos = trans.Value;
|
|
float bound = GameManager.main.xBound;
|
|
|
|
if (pos.x >= bound)
|
|
{
|
|
GameManager.main.PlayerScored(0);
|
|
ecb.DestroyEntity(entity);
|
|
}
|
|
else if (pos.x <= -bound)
|
|
{
|
|
GameManager.main.PlayerScored(1);
|
|
ecb.DestroyEntity(entity);
|
|
}
|
|
}).Run();
|
|
|
|
ecb.Playback(EntityManager);
|
|
ecb.Dispose();
|
|
|
|
return default;
|
|
}
|
|
}
|