protected internal bool RequestRemoveConnection(Part part1, Part part2, bool rebuildVessel = true) { bool modified = false; ConnectPair CPtoRemove = new ConnectPair(part1, part2); if (requestedConnections.Contains(CPtoRemove)) { requestedConnections.Remove(CPtoRemove); modified = true; } else if (requestedConnections.Contains(CPtoRemove.Other())) { requestedConnections.Remove(CPtoRemove.Other()); modified = true; } if (modified && rebuildVessel) { if (HighLogic.LoadedSceneIsEditor) { UpdateShipConstruct(); } else { part1.vessel.GetComponent <CLSVesselModule>().MarkDirty(); } } return(modified); }
protected internal bool RequestAddConnection(Part part1, Part part2, bool rebuildVessel = true) { ConnectPair connectPair = new ConnectPair(part1, part2); if (requestedConnections.Contains(connectPair) || requestedConnections.Contains(connectPair.Other())) { return(false); } requestedConnections.Add(connectPair); if (rebuildVessel) { if (HighLogic.LoadedSceneIsEditor) { UpdateShipConstruct(); } else { part1.vessel.GetComponent <CLSVesselModule>().MarkDirty(); } } return(true); }