该项目是使用Unity DOTS 实现的经典 Pong 游戏的简单实现。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

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;
}
}