/// <inheritdoc/> public void UpdateContextMenu() { PartModuleUtils.SetupEvent( this, PickupConnectorEvent, x => x.guiActive = FlightGlobals.fetch != null && FlightGlobals.ActiveVessel == vessel && !isLinked && closestConnector != null); }
/// <inheritdoc/> public override void UpdateContextMenu() { base.UpdateContextMenu(); connectorStateMenuInfo = ConnectorStatesMsgLookup.Lookup(connectorState); PartModuleUtils.SetupEvent(this, ToggleVesselsDockModeEvent, e => { e.active &= !isConnectorLocked && linkState != LinkState.NodeIsBlocked; }); PartModuleUtils.SetupEvent(this, GrabConnectorEvent, e => { e.active = connectorState == ConnectorState.Locked && linkState != LinkState.NodeIsBlocked; if (_grabConnectorEventInject != null) { _grabConnectorEventInject.guiName = e.guiName; } }); PartModuleUtils.SetupEvent(this, ReturnConnectorEvent, e => { e.active = IsActiveEvaHoldingConnector(); }); PartModuleUtils.SetupEvent(this, DetachConnectorEvent, e => { e.active = isLinked; }); PartModuleUtils.SetupEvent(this, InstantLockConnectorEvent, e => { e.active = connectorState == ConnectorState.Deployed; }); if (_grabConnectorEventInject != null) { _grabConnectorEventInject.active = linkTarget != null && connectorState == ConnectorState.Plugged && FlightGlobals.ActiveVessel != linkTarget.part.vessel; } }
/// <inheritdoc/> public virtual void UpdateContextMenu() { PartModuleUtils.SetupEvent(this, ToggleVesselsDockModeEvent, e => { if (linkJoint != null) { e.guiName = linkJoint.coupleOnLinkMode ? DockedModeMenuTxt : UndockedModeMenuTxt; if (coupleMode == CoupleMode.SetViaGUI) { e.active = coupleNode != null && (linkTarget == null || linkTarget.coupleNode != null); } else if (isLinked) { // Just in case show GUI if the link is established, and its couple mode contradicts the // joint setting. GUI will allow fixing it manually. e.active = coupleMode == CoupleMode.NeverCouple && linkJoint.coupleOnLinkMode || coupleMode == CoupleMode.AlwaysCoupled && !linkJoint.coupleOnLinkMode; } else { e.active = false; } } else { e.active = false; } }); }
public void UpdateContextMenu() { PartModuleUtils.SetupEvent( this, TogglePlayStateEvent, x => x.guiName = sndMainTune == null || !sndMainTune.isPlaying ? PlayMenuTxt : StopMenuTxt); }
/// <inheritdoc/> public override void UpdateContextMenu() { base.UpdateContextMenu(); deployedCableLengthMenuInfo = DistanceType.Format( cableJoint != null ? cableJoint.deployedCableLength : 0); PartModuleUtils.SetupEvent(this, ToggleExtendCableEvent, e => { e.active = linkState != LinkState.NodeIsBlocked; e.guiName = motorTargetSpeed > float.Epsilon ? StopExtendingMenuTxt : ExtendCableMenuTxt; }); PartModuleUtils.SetupEvent(this, ToggleRetractCableEvent, e => { e.active = linkState != LinkState.NodeIsBlocked; e.guiName = motorTargetSpeed < -float.Epsilon ? StopRetractingMenuTxt : RetractCableMenuTxt; }); PartModuleUtils.SetupEvent(this, InstantStretchEvent, e => { e.active = !isConnectorLocked && linkState != LinkState.NodeIsBlocked; }); PartModuleUtils.SetupEvent(this, ReleaseCableEvent, e => { e.active = linkState != LinkState.NodeIsBlocked; }); }
/// <inheritdoc/> public override void UpdateContextMenu() { base.UpdateContextMenu(); PartModuleUtils.SetupEvent(this, OpenGUIEvent, e => { e.active = linkTarget != null && linkTarget.part != null && !linkTarget.part.vessel.isEVA; }); }
public void ActivateEvent() { if (!activated) { activated = true; sndTimeStart.Play(); sndTimeLoop.Play(); PartModuleUtils.SetupEvent(this, ActivateEvent, x => x.active = false); PartModuleUtils.SetupEvent(this, SetupEvent, x => x.active = false); ScreenMessaging.ShowPriorityScreenMessage(TimeToEscapeMsg.Format((int)delay)); } }
/// <inheritdoc/> public override void UpdateContextMenu() { base.UpdateContextMenu(); PartModuleUtils.SetupEvent(this, StartLinkContextMenuAction, e => { e.guiName = startLinkMenu; e.active = linkState == LinkState.Available; }); PartModuleUtils.SetupEvent(this, BreakLinkContextMenuAction, e => { e.guiName = breakLinkMenu; e.active = linkState == LinkState.Linked; }); }
/// <inheritdoc/> public override void UpdateContextMenu() { base.UpdateContextMenu(); deployedCableLengthMenuInfo = DistanceType.Format( cableJoint != null ? cableJoint.deployedCableLength : 0); PartModuleUtils.SetupEvent(this, ToggleExtendCableEvent, e => { e.guiName = motorTargetSpeed > float.Epsilon ? StopExtendingMenuTxt : ExtendCableMenuTxt; }); PartModuleUtils.SetupEvent(this, ToggleRetractCableEvent, e => { e.guiName = motorTargetSpeed < -float.Epsilon ? StopRetractingMenuTxt : RetractCableMenuTxt; }); }
/// <inheritdoc/> public virtual void UpdateContextMenu() { PartModuleUtils.SetupEvent(this, ToggleVesselsDockModeEvent, e => { if (linkJoint != null) { if (linkJoint.coupleOnLinkMode) { e.active = true; e.guiName = DockedModeMenuTxt; } else { e.active = showCouplingUi && allowCoupling && (linkTarget == null || linkTarget.coupleNode != null); e.guiName = UndockedModeMenuTxt; } } else { e.active = false; } }); }
/// <inheritdoc/> public void UpdateContextMenu() { Fields["lockStatus"].guiActive = isLinked; Fields["steeringStatus"].guiActive = isLinked; Fields["steeringInvert"].guiActive = isLinked && persistedActiveSteeringEnabled; Fields["steeringSensitivity"].guiActive = isLinked && persistedActiveSteeringEnabled; PartModuleUtils.SetupEvent( this, StartLockLockingAction, e => e.active = isLinked && persistedLockingMode == LockMode.Disabled); PartModuleUtils.SetupEvent( this, UnlockAction, e => e.active = isLinked && persistedLockingMode != LockMode.Disabled); PartModuleUtils.SetupEvent( this, DeactivateSteeringAction, e => e.active = isLinked && persistedActiveSteeringEnabled); PartModuleUtils.SetupEvent( this, ActiveSteeringAction, e => e.active = isLinked && !persistedActiveSteeringEnabled); lockStatus = LockStatusMsgLookup.Lookup(persistedLockingMode); steeringStatus = SteeringStatusMsgLookup.Lookup( persistedActiveSteeringEnabled ? SteeringStatus.Active : SteeringStatus.Disabled); }
/// <inheritdoc/> public void UpdateContextMenu() { // FIXME: Consider the mounted state. PartModuleUtils.SetupEvent(this, ReleaseEvent, x => x.active = allowRelease); PartModuleUtils.SetupAction(this, ActionGroupRelease, x => x.active = allowRelease); }
void SetupEvents() { // This call will activate the event. PartModuleUtils.SetupEvent(this, TestEvent, x => x.active = true); }
/// <inheritdoc/> public void UpdateContextMenu() { _injectedOrientationEvents.ForEach(e => e.active = !isLinked); PartModuleUtils.SetupEvent(this, ExtendAtMaxMenuAction, x => x.active = !isLinked); PartModuleUtils.SetupEvent(this, RetractToMinMenuAction, x => x.active = !isLinked); }