/// <summary> /// Send updates for vessels that we own the update lock. And also send it for the abandoned ones /// </summary> private void SendSecondaryVesselPositionUpdates() { if (PositionUpdateSystemReady && !VesselCommon.IsSpectating) { SecondaryVesselsToUpdate.Clear(); SecondaryVesselsToUpdate.AddRange(VesselCommon.GetSecondaryVessels()); for (var i = 0; i < SecondaryVesselsToUpdate.Count; i++) { MessageSender.SendVesselPositionUpdate(SecondaryVesselsToUpdate[i]); } } }
private void SendSecondaryVesselPartUpdates() { if (PartSyncSystemReady && !VesselCommon.IsSpectating) { SecondaryVesselsToUpdate.Clear(); SecondaryVesselsToUpdate.AddRange(VesselCommon.GetSecondaryVessels()); for (var i = 0; i < SecondaryVesselsToUpdate.Count; i++) { CheckAndSendVesselUpdate(SecondaryVesselsToUpdate[i]); } } }
private void SendSecondaryVesselFairings() { if (FairingSystemReady && !VesselCommon.IsSpectating) { SecondaryVesselsToUpdate.Clear(); SecondaryVesselsToUpdate.AddRange(VesselCommon.GetSecondaryVessels()); for (var i = 0; i < SecondaryVesselsToUpdate.Count; i++) { CheckAndSendFairingChanges(SecondaryVesselsToUpdate[i]); } } }
/// <summary> /// Send updates for vessels that we own the update lock. And also send it for the abandoned ones /// </summary> private void SendSecondaryVesselPositionUpdates() { if (PositionUpdateSystemReady && !VesselCommon.IsSpectating) { SecondaryVesselsToUpdate.Clear(); SecondaryVesselsToUpdate.AddRange(VesselCommon.GetSecondaryVessels()); for (var i = 0; i < SecondaryVesselsToUpdate.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(SecondaryVesselsToUpdate[i].id)) { continue; } MessageSender.SendVesselPositionUpdate(SecondaryVesselsToUpdate[i]); } } }