private void CheckIfFreezeIsNeeded(Vessel from, Vessel to) { if (from.Landed && to.situation >= Vessel.Situations.SUB_ORBITAL) { TerrainExtender.ActivateNoCrashDamage(); from.SetWorldVelocity(Vector3d.zero); VesselToFreeze.Add(from); VesselToFreeze.AddRange(FlightGlobals.VesselsLoaded.Where(x => x.LandedOrSplashed)); } }
private void FreezeLandedVesselWhenSwitching() { VesselToFreeze.RemoveAll(x => x == null); VesselToFreeze.RemoveAll(x => !x.loaded); if (VesselToFreeze.Count == 0) { TerrainExtender.DeactivateNoCrashDamage(); } VesselToFreeze.ForEach(x => x?.SetWorldVelocity(Vector3d.zero)); }