//when two player trains connected, require decouple at speed 0. public static bool TrainOK2Decouple(Confirmer confirmer, Train t) { if (t == null) { return(false); } if (Math.Abs(t.SpeedMpS) < 0.001) { return(true); } try { var count = 0; foreach (var p in OnlineTrains.Players.Keys) { string p1 = p + " "; foreach (var car in t.Cars) { if (car.CarID.Contains(p1)) { count++; } } } if (count >= 2) { if (confirmer != null) { confirmer.Information(MPManager.Catalog.GetPluralStringFmt("Cannot decouple: train has {0} player, need to completely stop.", "Cannot decouple: train has {0} players, need to completely stop.", count)); } return(false); } } catch { return(false); } return(true); }