From ccd715e84f7efaec08fd0832f09c2c99cccbc6c9 Mon Sep 17 00:00:00 2001 From: Kenneth Yang Date: Sun, 10 Mar 2024 11:34:53 -0700 Subject: [PATCH 1/2] Show connecting connect button as connecting, close process on exit --- .../UI/EphysLinkSettings/EphysLinkSettings.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/Pinpoint/UI/EphysLinkSettings/EphysLinkSettings.cs b/Assets/Scripts/Pinpoint/UI/EphysLinkSettings/EphysLinkSettings.cs index 31ce3393..e7bc7053 100644 --- a/Assets/Scripts/Pinpoint/UI/EphysLinkSettings/EphysLinkSettings.cs +++ b/Assets/Scripts/Pinpoint/UI/EphysLinkSettings/EphysLinkSettings.cs @@ -7,7 +7,6 @@ using TMPro; using UnityEngine; using UnityEngine.Events; -using UnityEngine.Serialization; using UnityEngine.UI; // using Process = KS.Diagnostics.Process; @@ -75,6 +74,14 @@ private void OnEnable() UpdateConnectionPanel(); } + private void OnDestroy() + { + // Kill internally started Ephys Link process + if (_ephysLinkProcess == null) return; + _ephysLinkProcess.Kill(true); + _ephysLinkProcess.Dispose(); + } + #endregion #region UI Functions @@ -171,8 +178,8 @@ public void OnLaunchEphysLinkPressed() _ => "sensapex" }; - // Make args string. - var args = $"-t {manipulatorTypeString}"; + // Make args string (ignore updates, select type). + var args = $"-i -t {manipulatorTypeString}"; // Add Pathfinder port if selected. if (_manipulatorTypeDropdown.value == 2) @@ -195,6 +202,7 @@ public void OnLaunchEphysLinkPressed() _manipulatorTypeDropdown.interactable = false; _launchEphysLinkButton.interactable = false; _connectButton.SetActive(true); + _connectButtonText.text = "Connecting..."; // Attempt to connect to server. var attempts = 0; From f5f027b8b84c1ab86cb734b4ed96567cfa99c59b Mon Sep 17 00:00:00 2001 From: Kenneth Yang Date: Sun, 10 Mar 2024 11:38:12 -0700 Subject: [PATCH 2/2] Give more space to connect button, nullify process after killing --- .../SettingsMenu/Menus/EphysLinkMenu.prefab | 10 +++++---- .../UI/EphysLinkSettings/EphysLinkSettings.cs | 21 +++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Assets/Prefabs/UI/SettingsMenu/Menus/EphysLinkMenu.prefab b/Assets/Prefabs/UI/SettingsMenu/Menus/EphysLinkMenu.prefab index 697a9983..b80a71f1 100644 --- a/Assets/Prefabs/UI/SettingsMenu/Menus/EphysLinkMenu.prefab +++ b/Assets/Prefabs/UI/SettingsMenu/Menus/EphysLinkMenu.prefab @@ -4824,7 +4824,9 @@ PrefabInstance: m_Modifications: - target: {fileID: 1917941435178448969, guid: b70534dfc2e4a52489c512aabd5dd59d, type: 3} propertyPath: m_Text - value: Connect + value: 'Connect + +' objectReference: {fileID: 0} - target: {fileID: 2315289584108803517, guid: b70534dfc2e4a52489c512aabd5dd59d, type: 3} propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size @@ -4904,7 +4906,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8061307773979316499, guid: b70534dfc2e4a52489c512aabd5dd59d, type: 3} propertyPath: m_SizeDelta.x - value: 180.69582 + value: 200.6693 objectReference: {fileID: 0} - target: {fileID: 8061307773979316499, guid: b70534dfc2e4a52489c512aabd5dd59d, type: 3} propertyPath: m_SizeDelta.y @@ -4940,7 +4942,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8061307773979316499, guid: b70534dfc2e4a52489c512aabd5dd59d, type: 3} propertyPath: m_AnchoredPosition.x - value: 1037.5765 + value: 1046.1573 objectReference: {fileID: 0} - target: {fileID: 8061307773979316499, guid: b70534dfc2e4a52489c512aabd5dd59d, type: 3} propertyPath: m_AnchoredPosition.y @@ -4995,7 +4997,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_IgnoreLayout: 0 - m_MinWidth: 180 + m_MinWidth: 200 m_MinHeight: -1 m_PreferredWidth: -1 m_PreferredHeight: -1 diff --git a/Assets/Scripts/Pinpoint/UI/EphysLinkSettings/EphysLinkSettings.cs b/Assets/Scripts/Pinpoint/UI/EphysLinkSettings/EphysLinkSettings.cs index e7bc7053..2dfbec9d 100644 --- a/Assets/Scripts/Pinpoint/UI/EphysLinkSettings/EphysLinkSettings.cs +++ b/Assets/Scripts/Pinpoint/UI/EphysLinkSettings/EphysLinkSettings.cs @@ -76,10 +76,7 @@ private void OnEnable() private void OnDestroy() { - // Kill internally started Ephys Link process - if (_ephysLinkProcess == null) return; - _ephysLinkProcess.Kill(true); - _ephysLinkProcess.Dispose(); + KillEphysLinkProcess(); } #endregion @@ -277,13 +274,7 @@ public void OnConnectDisconnectPressed() CommunicationManager.Instance.DisconnectFromServer(() => { - // Kill internally started Ephys Link process - if (_ephysLinkProcess != null) - { - _ephysLinkProcess.Kill(true); - _ephysLinkProcess.Dispose(); - } - + KillEphysLinkProcess(); UpdateConnectionPanel(); }); }; @@ -360,6 +351,14 @@ private void UpdateConnectionPanel() UpdateManipulatorPanels(); } + private void KillEphysLinkProcess() + { + if (_ephysLinkProcess == null) return; + _ephysLinkProcess.Kill(true); + _ephysLinkProcess.Dispose(); + _ephysLinkProcess = null; + } + #endregion } } \ No newline at end of file