public void OnHandClick(GUIHand hand) { if (!hand.IsTool()) { powerRelay.dontConnectToRelays = !powerRelay.dontConnectToRelays; if (powerRelay.dontConnectToRelays) { baseInboundRelay.dontConnectToRelays = powerRelay.dontConnectToRelays; baseInboundRelay.DisconnectFromRelay(); otherConnectionRelays.ForEach((x) => { x.dontConnectToRelays = powerRelay.dontConnectToRelays; x.DisconnectFromRelay(); }); } else { baseInboundRelay.dontConnectToRelays = baseConnectionsDisabled; baseInboundRelay.DisconnectFromRelay(); otherConnectionRelays.ForEach((x) => { x.dontConnectToRelays = otherConnectionsDisabled; x.DisconnectFromRelay(); }); } powerRelay.DisconnectFromRelay(); PowerRelay.MarkRelaySystemDirty(); } }