/* * Lock editor if mouse pointer is inside window rect */ private void PreventClickThrough(Rect rect) { Vector2 pointerPos = Mouse.screenPos; // if (rect.Contains(pointerPos) && !EditorLogic.softLock) if (rect.Contains(pointerPos)) { EditorLockManager.lockEditor(Constants.settingPreventClickThroughLock); } // else if (!rect.Contains(pointerPos) && EditorLogic.softLock) else if (!rect.Contains(pointerPos)) { EditorLockManager.unlockEditor(Constants.settingPreventClickThroughLock); } }
} //private void OnDraw() private void weldPart(Part partToWeld) { //Lock editor EditorLockManager.lockEditor(Constants.settingWeldingLock); //process the welding #if (DEBUG) Debug.ClearDeveloperConsole(); Log.info("{0}", Constants.logVersion); Log.info("{0}", Constants.logStartWeld); #endif bool warning = false; _welder = new Welder(); _welder.init(); partToWeld.transform.eulerAngles = Vector3.zero; WeldingReturn ret = 0; if (!WeldingHelpers.DoesTextContainRegex(partToWeld.name, "strutConnector")) { ret = _welder.weldThisPart(partToWeld); } if (ret < 0) { Log.dbg("{0}", Constants.logEndWeld); this.state = DisplayState.weldError; return; } else { warning = warning || (0 < ret); } Part[] children = partToWeld.FindChildParts <Part>(true); if (children != null) { foreach (Part child in children) { if (!WeldingHelpers.DoesTextContainRegex(child.name, "strutConnector")) { ret = _welder.weldThisPart(child); } if (ret < 0) { Log.dbg("{0}", Constants.logEndWeld); this.state = DisplayState.weldError; return; } else { warning = warning || (0 < ret); } } } _welder.processNewCoM(); _welder.prepDecals(_welder.moduleList); if (_welder.isMeshSwitchRequired) { _welder.prepareWeldedMeshSwitchModule(_welder.moduleList); } _techDropdown = WeldingHelpers.initTechDropDown(_welder.techList, _guiStyle, _techDropdown); if (_welder.vesselTypeList.Count > 0) { _vesselTypeDropdown = WeldingHelpers.initVesselTypeDropDown(_welder.vesselTypeList, _guiStyle, _vesselTypeDropdown); } _scrollMod = Vector2.zero; _scrollRes = Vector2.zero; Log.dbg("| {0} Parts welded", _welder.NbParts); if (warning) { Log.dbg(Constants.logEndWeld); this.state = DisplayState.weldWarning; } else { Log.dbg("welder.Category: {0}", (int)_welder.Category); _catDropdown.SelectedItemIndex = (int)_welder.Category; this.state = DisplayState.infoWindow; } }