/// <summary> /// Send updates for vessels that we own the update lock. And also send it for the abandoned ones /// </summary> private void SendUnloadedSecondaryVesselPositionUpdates() { if (PositionUpdateSystemReady && !VesselCommon.IsSpectating) { AbandonedVesselsToUpdate.Clear(); AbandonedVesselsToUpdate.AddRange(VesselCommon.GetUnloadedSecondaryVessels()); for (var i = 0; i < AbandonedVesselsToUpdate.Count; i++) { MessageSender.SendVesselPositionUpdate(AbandonedVesselsToUpdate[i]); } } }
/// <summary> /// Send updates for vessels that we own the update lock. And also send it for the abandoned ones /// </summary> private void SendUnloadedSecondaryVesselPositionUpdates() { if (PositionUpdateSystemBasicReady && !VesselCommon.IsSpectating) { AbandonedVesselsToUpdate.Clear(); AbandonedVesselsToUpdate.AddRange(VesselCommon.GetUnloadedSecondaryVessels()); for (var i = 0; i < AbandonedVesselsToUpdate.Count; i++) { //This is the case when you've got an update lock from a vessel that was controlled by a player in a future subspace. //You don't need to send position updates for it as you're replaying them from the past if (VesselHavePositionUpdatesQueued(AbandonedVesselsToUpdate[i].id)) { continue; } UpdateUnloadedVesselValues(AbandonedVesselsToUpdate[i]); MessageSender.SendVesselPositionUpdate(AbandonedVesselsToUpdate[i]); } } }