public void OnPointerEnter(PointerEventData eventData) { if (!UIAssetsLoader.allPrefabsReady) { return; } if (!tooltipPanel) { tooltipPanel = GameObject.Instantiate(UIAssetsLoader.basicTooltipPrefab); tooltipPanel.transform.SetParent(UIMasterController.Instance.appCanvas.transform, false); tooltipPanel.GetComponent <CanvasGroup>().alpha = 0f; tooltipPanel.GetComponent <CanvasGroup>().blocksRaycasts = false; tooltipPanelFader = tooltipPanel.AddComponent <CanvasGroupFader>(); } var panelRectTransform = tooltipPanel.transform as RectTransform; tooltipPanel.GetChild("Text").GetComponent <Text>().text = tooltipText; tooltipTime = 0f; Vector2 localPointerPosition; if (RectTransformUtility.ScreenPointToLocalPointInRectangle(tooltipPanel.transform.parent as RectTransform, eventData.position, eventData.pressEventCamera, out localPointerPosition)) { panelRectTransform.localPosition = localPointerPosition - tooltipOffset; } }
public void DestroyToolTip() { if (tooltipPanel) { tooltipPanel.DestroyGameObjectImmediate(); tooltipPanel = null; tooltipPanelFader = null; } }
public void HideKJRWindow() { if (_settingsWindowFader) { _settingsWindowFader.FadeTo(0f, 0.1f, () => { GUIEnabled = false; _settingsWindowPosition = _settingsWindow.transform.position; _settingsWindow.DestroyGameObjectImmediate(); _settingsWindow = null; _settingsWindowFader = null; }); } }
private void OnDestroy() { Logger.Log("[GUI] destroy"); KeyboardLock(false); SaveConfigXml(); if (_settingsWindow) { _settingsWindow.DestroyGameObject(); _settingsWindow = null; _settingsWindowFader = null; } GameEvents.onGUIApplicationLauncherReady.Remove(AddAppLauncherButton); GameEvents.onGameSceneLoadRequested.Remove(OnGameSceneLoadRequestedForAppLauncher); DestroyAppLauncherButton(); GameEvents.onShowUI.Remove(OnShowUI); GameEvents.onHideUI.Remove(OnHideUI); Logger.Log("[GUI] OnDestroy finished successfully", Logger.Level.Debug); }
private void InitSettingsWindow(bool startSolid = true) { _settingsWindow = GameObject.Instantiate(UIAssetsLoader.settingsWindowPrefab); _settingsWindow.transform.SetParent(UIMasterController.Instance.appCanvas.transform, false); _settingsWindow.GetChild("WindowTitle").AddComponent <PanelDragger>(); _settingsWindowFader = _settingsWindow.AddComponent <CanvasGroupFader>(); // start invisible to be toggled later // if(!startSolid) // _settingsWindow.GetComponent<CanvasGroup>().alpha = 0f; _settingsWindow.GetComponent <CanvasGroup>().alpha = 0f; if (_settingsWindowPosition == Vector3.zero) { _settingsWindowPosition = _settingsWindow.transform.position; // get the default position from the prefab } else { _settingsWindow.transform.position = ClampWindowPosition(_settingsWindowPosition); } /* * var settingsButton = _settingsWindow.GetChild("WindowTitle").GetChild("LeftWindowButton"); * if(settingsButton != null) * { * settingsButton.GetComponent<Button>().onClick.AddListener(ToggleSettingsWindow); * var t = settingsButton.AddComponent<BasicTooltip>(); * t.tooltipText = "Show/hide UI settings"; * } */ var closeButton = _settingsWindow.GetChild("WindowTitle").GetChild("RightWindowButton"); if (closeButton != null) { closeButton.GetComponent <Button>().onClick.AddListener(OnHideCallback); var t = closeButton.AddComponent <BasicTooltip>(); t.tooltipText = "Close window"; } var content = _settingsWindow.GetChild("WindowContent"); var OptShowKSPJoints = AddNewOption(content, "ShowKSPJoints"); OptShowKSPJoints.isOn = ShowKSPJoints; // var Opt1ToggleTooltip = Opt1Toggle.gameObject.AddComponent<BasicTooltip>(); // Opt1ToggleTooltip.tooltipText = "Option1"; var OptReinforceExistingJoints = AddNewOption(content, "Reinforce Existing Joints"); OptReinforceExistingJoints.isOn = ReinforceExistingJoints; var OptBuildAdditionalJointToParent = AddNewOption(content, "Build Additional Joints To Parent"); OptBuildAdditionalJointToParent.isOn = BuildAdditionalJointToParent; var OptShowAdditionalJointToParent = AddNewOption(content, "Show Additional Joints To Parent"); OptShowAdditionalJointToParent.isOn = ShowAdditionalJointToParent; var OptBuildMultiPartJointTreeChildren = AddNewOption(content, "Build MultiPartJointTreeChildren"); OptBuildMultiPartJointTreeChildren.isOn = BuildMultiPartJointTreeChildren; var OptShowMultiPartJointTreeChildren = AddNewOption(content, "Show MultiPartJointTreeChildren"); OptShowMultiPartJointTreeChildren.isOn = ShowMultiPartJointTreeChildren; var OptBuildMultiPartJointTreeChildrenRoot = AddNewOption(content, "Build MultiPartJointTreeChildrenRoot"); OptBuildMultiPartJointTreeChildrenRoot.isOn = BuildMultiPartJointTreeChildrenRoot; var OptShowMultiPartJointTreeChildrenRoot = AddNewOption(content, "Show MultiPartJointTreeChildrenRoot"); OptShowMultiPartJointTreeChildrenRoot.isOn = ShowMultiPartJointTreeChildrenRoot; var OptAutoStrutDisplay = AddNewOption(content, "Show AutoStruts"); OptAutoStrutDisplay.isOn = PhysicsGlobals.AutoStrutDisplay; var OptShowInstability = AddNewOption(content, "Show Instability"); OptShowInstability.isOn = ShowInstability; var footerButtons = _settingsWindow.GetChild("WindowFooter").GetChild("WindowFooterButtonsHLG"); var cancelButton = footerButtons.GetChild("CancelButton").GetComponent <Button>(); cancelButton.onClick.AddListener(() => { OptShowKSPJoints.isOn = ShowKSPJoints; OptReinforceExistingJoints.isOn = ReinforceExistingJoints; OptBuildAdditionalJointToParent.isOn = BuildAdditionalJointToParent; OptShowAdditionalJointToParent.isOn = ShowAdditionalJointToParent; OptBuildMultiPartJointTreeChildren.isOn = BuildMultiPartJointTreeChildren; OptShowMultiPartJointTreeChildren.isOn = ShowMultiPartJointTreeChildren; OptBuildMultiPartJointTreeChildrenRoot.isOn = BuildMultiPartJointTreeChildrenRoot; OptShowMultiPartJointTreeChildrenRoot.isOn = ShowMultiPartJointTreeChildrenRoot; OptAutoStrutDisplay.isOn = PhysicsGlobals.AutoStrutDisplay; OptShowInstability.isOn = ShowInstability; }); var defaultButton = footerButtons.GetChild("DefaultButton").GetComponent <Button>(); defaultButton.onClick.AddListener(() => { bool bCycle = false, bCycle2 = false; OptShowKSPJoints.isOn = ShowKSPJoints = false; if (!ReinforceExistingJoints) { bCycle = true; } OptReinforceExistingJoints.isOn = ReinforceExistingJoints = true; if (!BuildAdditionalJointToParent) { bCycle = true; } OptBuildAdditionalJointToParent.isOn = BuildAdditionalJointToParent = true; OptShowAdditionalJointToParent.isOn = ShowAdditionalJointToParent = false; if (!BuildMultiPartJointTreeChildren) { bCycle = true; } OptBuildMultiPartJointTreeChildren.isOn = BuildMultiPartJointTreeChildren = true; OptShowMultiPartJointTreeChildren.isOn = ShowMultiPartJointTreeChildren = false; if (!BuildMultiPartJointTreeChildrenRoot) { bCycle = true; } OptBuildMultiPartJointTreeChildrenRoot.isOn = BuildMultiPartJointTreeChildrenRoot = true; OptShowMultiPartJointTreeChildrenRoot.isOn = ShowMultiPartJointTreeChildrenRoot = false; OptAutoStrutDisplay.isOn = PhysicsGlobals.AutoStrutDisplay = false; if (ShowInstability) { bCycle2 = true; } OptShowInstability.isOn = ShowInstability = false; KJRAnalyzer.Show = ShowKSPJoints | ShowAdditionalJointToParent | ShowMultiPartJointTreeChildren | ShowMultiPartJointTreeChildrenRoot; if (HighLogic.LoadedSceneIsFlight) { if (bCycle) { KJRManager.Instance.OnVesselWasModified(FlightGlobals.ActiveVessel); } else if (bCycle2) { KJRAnalyzerJoint.RunVesselJointUpdateFunction(FlightGlobals.ActiveVessel); } } }); var applyButton = footerButtons.GetChild("ApplyButton").GetComponent <Button>(); applyButton.onClick.AddListener(() => { bool bCycle = false, bCycle2 = false; ShowKSPJoints = OptShowKSPJoints.isOn; if (ReinforceExistingJoints != OptReinforceExistingJoints.isOn) { bCycle = true; ReinforceExistingJoints = OptReinforceExistingJoints.isOn; } if (BuildAdditionalJointToParent != OptBuildAdditionalJointToParent.isOn) { bCycle = true; BuildAdditionalJointToParent = OptBuildAdditionalJointToParent.isOn; } ShowAdditionalJointToParent = OptShowAdditionalJointToParent.isOn; if (BuildMultiPartJointTreeChildren != OptBuildMultiPartJointTreeChildren.isOn) { bCycle = true; BuildMultiPartJointTreeChildren = OptBuildMultiPartJointTreeChildren.isOn; } ShowMultiPartJointTreeChildren = OptShowMultiPartJointTreeChildren.isOn; if (BuildMultiPartJointTreeChildrenRoot != OptBuildMultiPartJointTreeChildrenRoot.isOn) { bCycle = true; BuildMultiPartJointTreeChildrenRoot = OptBuildMultiPartJointTreeChildrenRoot.isOn; } ShowMultiPartJointTreeChildrenRoot = OptShowMultiPartJointTreeChildrenRoot.isOn; PhysicsGlobals.AutoStrutDisplay = OptAutoStrutDisplay.isOn; if (ShowInstability != OptShowInstability.isOn) { bCycle2 = true; ShowInstability = OptShowInstability.isOn; } KJRAnalyzer.Show = ShowKSPJoints | ShowAdditionalJointToParent | ShowMultiPartJointTreeChildren | ShowMultiPartJointTreeChildrenRoot; if (HighLogic.LoadedSceneIsFlight) { if (bCycle) { KJRManager.Instance.OnVesselWasModified(FlightGlobals.ActiveVessel); } else if (bCycle2) { KJRAnalyzerJoint.RunVesselJointUpdateFunction(FlightGlobals.ActiveVessel); } } }); }