public void OnHandHover(GUIHand hand) { if (!hand.IsTool()) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine($"Max Power {(int)powerRelay.GetEndpoint().GetMaxPower()}, Current Power: {(int)powerRelay.GetEndpoint().GetPower()}"); stringBuilder.Append($"MainConnections: {!powerRelay.dontConnectToRelays}, "); stringBuilder.Append($"Other Connections: {!otherConnectionsDisabled}"); StringBuilder stringBuilder2 = new StringBuilder(); stringBuilder2.AppendLine("LeftHand: Full Enable/Disable"); stringBuilder2.AppendLine("Deconstruct Key (Q): Other Connections (Green)"); #if SN1 HandReticle.main.SetInteractText(stringBuilder.ToString(), stringBuilder2.ToString(), false, false, HandReticle.Hand.None); #elif BZ HandReticle.main.SetText(HandReticle.TextType.Hand, stringBuilder.ToString(), false); HandReticle.main.SetText(HandReticle.TextType.HandSubscript, stringBuilder2.ToString(), false); #endif if (GameInput.GetButtonDown(GameInput.Button.Deconstruct) && !powerRelay.dontConnectToRelays) { otherConnectionsDisabled = !otherConnectionsDisabled; otherConnectionRelays.ForEach((x) => { x.dontConnectToRelays = otherConnectionsDisabled; x.DisconnectFromRelay(); }); PowerRelay.MarkRelaySystemDirty(); } } }
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(); } }