private bool HandleLeftMouseButton(MyStringId context) { if (MyInput.Static.IsNewLeftMousePressed() || MyControllerHelper.IsControl(context, MyControlsSpace.COPY_PASTE_ACTION)) { bool handled = false; if (m_clipboard.IsActive) { if (m_clipboard.PasteGrid()) { UpdatePasteNotification(MyCommonTexts.CubeBuilderPasteNotification); handled = true; } } if (m_floatingObjectClipboard.IsActive) { if (m_floatingObjectClipboard.PasteFloatingObject()) { UpdatePasteNotification(MyCommonTexts.CubeBuilderPasteNotification); handled = true; } } if (m_voxelClipboard.IsActive) { if (m_voxelClipboard.PasteVoxelMap()) { UpdatePasteNotification(MyCommonTexts.CubeBuilderPasteNotification); handled = true; } } if (handled) { this.Deactivate(); return(true); } } return(false); }
public bool HandleGameInput() { m_rotationHintRotating = false; var context = (m_activated && MySession.Static.ControlledEntity is MyCharacter) ? MySession.Static.ControlledEntity.ControlContext : MyStringId.NullOrEmpty; // When spectator active, building is instant if (MySession.Static.IsCopyPastingEnabled || MySession.Static.CreativeMode || (SpectatorIsBuilding && MyFinalBuildConstants.IS_OFFICIAL == false)) { if (MySession.Static.IsCopyPastingEnabled && !(MySession.Static.ControlledEntity is MyShipController)) { if (this.HandleCopyInput()) { return(true); } if (this.HandleCutInput()) { return(true); } if (this.HandlePasteInput()) { return(true); } if (HandleMouseScrollInput(context)) { return(true); } } if (this.HandleEscape()) { return(true); } if (this.HandleLeftMouseButton(context)) { return(true); } } else if (MySession.Static.Battle) { if (MyControllerHelper.IsControl(context, MyControlsSpace.PRIMARY_TOOL_ACTION)) { if (m_clipboard.IsActive) { if (m_clipboard.PasteGrid()) { UpdatePasteNotification(MyCommonTexts.CubeBuilderPasteNotification); return(true); } } } } if (this.HandleBlueprintInput()) { return(true); } if (m_clipboard != null && m_clipboard.IsActive && (MyControllerHelper.IsControl(context, MyControlsSpace.FREE_ROTATION) || MyControllerHelper.IsControl(context, MyControlsSpace.SWITCH_BUILDING_MODE))) { m_clipboard.EnableStationRotation = !m_clipboard.EnableStationRotation; m_floatingObjectClipboard.EnableStationRotation = !m_floatingObjectClipboard.EnableStationRotation; //if (m_clipboard.EnableStationRotation) // ShowStationRotationNotification(); //else // HideStationRotationNotification(); } if (HandleRotationInput(context)) { return(true); } return(false); }