void SendCheckpoint(NetConnection sendTo) { Log("SendCheckpoint"); var checkpointEvent = new MyEventCheckpoint(); checkpointEvent.Checkpoint = GetCheckpoint(); Peers.NetworkClient.Send(ref checkpointEvent, sendTo, NetDeliveryMethod.ReliableOrdered, 0, 1024 * 1024); // Send missiles, cannon shots etc. m_entitiesToTransfer.Clear(); MyEntities.FindEntities(AmmoEntitiesPredicate, m_entitiesToTransfer); foreach (var e in m_entitiesToTransfer) { var ammo = (MyAmmoBase)e; var weapon = MyGuiSmallShipHelpers.GetFirstWeaponType(ammo.AmmoType); if (!weapon.HasValue) { continue; } MyEventShoot shootMsg = new MyEventShoot(); shootMsg.Ammo = ammo.AmmoType; shootMsg.Position = new MyMwcPositionAndOrientation(ammo.WorldMatrix); shootMsg.ProjectileEntityId = MyEntityIdentifier.ToNullableInt(ammo.EntityId); shootMsg.ShooterEntityId = (ammo.OwnerEntity != null && ammo.OwnerEntity.EntityId.HasValue) ? ammo.OwnerEntity.EntityId.Value.NumericValue : 0; shootMsg.TargetEntityId = null; shootMsg.Weapon = weapon.Value; Peers.NetworkClient.Send(ref shootMsg, sendTo, NetDeliveryMethod.ReliableOrdered, 0); } }