private void SetHandTeachingButtonInteractivity() { ActionObject ao = SceneManager.Instance.GetActionObject(SceneManager.Instance.SelectedRobot.GetId()); bool success = ActionsManager.Instance.RobotsMeta.TryGetValue(ao.ActionObjectMetadata.Type, out IO.Swagger.Model.RobotMeta robotMeta); if (success) { HandTeachingModeButton.SetInteractivity(robotMeta.Features.HandTeaching, "Robot does not support hand teaching mode"); } else { HandTeachingModeButton.SetInteractivity(true); //actually this should never happen } }
public async void HoldReleased() { if (!HandTeachingModeButton.IsInteractive()) { return; } HandBtnRedBackground.SetActive(false); try { string armId = null; if (SceneManager.Instance.SelectedRobot.MultiArm()) { armId = SceneManager.Instance.SelectedArmId; } await WebsocketManager.Instance.HandTeachingMode(robotId : SceneManager.Instance.SelectedRobot.GetId(), enable : false, armId); } catch (RequestFailedException ex) { Notifications.Instance.ShowNotification("Failed to disable hand teaching mode", ex.Message); } }