protected override void OnUpdate() { Entities.WithAll <Simulated>().ForEach((Entity entity, DynamicBuffer <TransferAction> buffer) => { if (buffer.Length == 0) { return; } var transferAction = buffer[0]; if (transferAction.accepted) { EntityManager.RemoveComponent <Simulated>(entity); EntityManager.RemoveComponent <LingerSimulated>(entity); ReceiveUpdate.RemoveSyncComponents(EntityManager, entity); ReceiveUpdate.AddCommandBuffers(EntityManager, entity); } if (transferAction.accepted && transferAction.participant == 0) { EntityManager.AddComponent <Orphan>(entity); } buffer.Clear(); }).WithStructuralChanges().Run(); Dependency.Complete(); }
private void BootUp() { simGroup = World.GetExistingSystem <CoherenceSimulationSystemGroup>(); var netSys = World.GetOrCreateSystem <NetworkSystem>(); var deserializeComponents = new ComponentDeserializeWrapper(netSys.Mapper); var skipper = new DeserializeComponentsAndSkipWrapper(netSys.Mapper); var commandPerform = new PerformCommands(netSys.Mapper); var eventPerform = new PerformEvents(netSys.Mapper); var receiveUpdate = new ReceiveUpdate(deserializeComponents, skipper, netSys.Mapper, netSys.DestroyedEntities); receiver = new Receiver(World, netSys.Mapper, netSys.Connector, receiveUpdate, commandPerform, eventPerform, netSys.MessageChannels, netSys.SentPacketsCache); }
private void BootUp() { var netSys = World.GetOrCreateSystem <NetworkSystem>(); var deserializeComponents = new ComponentDeserializeWrapper(netSys.Mapper); var skipper = new DeserializeComponentsAndSkipWrapper(netSys.Mapper); var commandPerform = new PerformCommands(netSys.Mapper); var eventPerform = new PerformEvents(netSys.Mapper); var inputPerform = new PerformInputs(netSys.Mapper); var receiveUpdate = new ReceiveUpdate(deserializeComponents, skipper, netSys.Mapper); receiver = new Receiver(World, receiveUpdate, commandPerform, eventPerform, inputPerform); frameCountSystem = World.GetExistingSystem <FrameCountSystem>(); }
protected override void OnUpdate() { Entities.WithAll <Simulated>().ForEach((Entity entity, in TransferAction transferAction) => { if (transferAction.accepted) { EntityManager.RemoveComponent <Simulated>(entity); EntityManager.RemoveComponent <LingerSimulated>(entity); ReceiveUpdate.RemoveSyncComponents(EntityManager, entity); ReceiveUpdate.AddCommandBuffers(EntityManager, entity); } if (transferAction.accepted && transferAction.participant == 0) { EntityManager.AddComponent <Orphan>(entity); } }).WithStructuralChanges().Run(); Dependency.Complete(); }