using Unity.Burst; using Unity.Collections; using Unity.Entities; using Unity.NetCode; namespace KickBall { public struct GoInGameRequest : IRpcCommand { } [WorldSystemFilter(WorldSystemFilterFlags.ClientSimulation | WorldSystemFilterFlags.ThinClientSimulation)] public partial struct GoInGameClientSystem : ISystem { [BurstCompile] public void OnCreate(ref SystemState state) { state.RequireForUpdate(); state.RequireForUpdate(); } [BurstCompile] public void OnUpdate(ref SystemState state) { var ecb = new EntityCommandBuffer(Allocator.Temp); foreach (var (id, entity) in SystemAPI.Query>() .WithNone() .WithEntityAccess()) { ecb.AddComponent(entity); var req = ecb.CreateEntity(); ecb.AddComponent(req); ecb.AddComponent(req, new SendRpcCommandRequest { TargetConnection = entity }); } ecb.Playback(state.EntityManager); } } }