diff --git a/arcor2_AREditor/Assets/TABLET/Models/ActionModel.stl.meta b/arcor2_AREditor/Assets/TABLET/Models/ActionModel.stl.meta index 53b870020..b5dab1ed8 100644 --- a/arcor2_AREditor/Assets/TABLET/Models/ActionModel.stl.meta +++ b/arcor2_AREditor/Assets/TABLET/Models/ActionModel.stl.meta @@ -7,4 +7,4 @@ ScriptedImporter: userData: assetBundleName: assetBundleVariant: - script: {fileID: 11500000, guid: 3053bb072954bb644a4a34101e211a63, type: 3} + script: {fileID: 11500000, guid: 6baa15879b9982542854c3ca3522da19, type: 3} diff --git a/arcor2_AREditor/Assets/TABLET/Scripts/ActionObject3D.cs b/arcor2_AREditor/Assets/TABLET/Scripts/ActionObject3D.cs index 734512b4b..f8cc3624f 100644 --- a/arcor2_AREditor/Assets/TABLET/Scripts/ActionObject3D.cs +++ b/arcor2_AREditor/Assets/TABLET/Scripts/ActionObject3D.cs @@ -459,4 +459,12 @@ public override void UpdateModel() { Model.transform.localScale = new Vector3(dimensions.Value.x, dimensions.Value.y, dimensions.Value.z); } + + public void Highlight() { + outlineOnClick.Highlight(); + } + + public void UnHighlight() { + outlineOnClick.UnHighlight(); + } } diff --git a/arcor2_AREditor/Assets/TABLET/Scripts/GUI/ActionObjectAimingMenu.cs b/arcor2_AREditor/Assets/TABLET/Scripts/GUI/ActionObjectAimingMenu.cs index 16f4458e4..d863d8637 100644 --- a/arcor2_AREditor/Assets/TABLET/Scripts/GUI/ActionObjectAimingMenu.cs +++ b/arcor2_AREditor/Assets/TABLET/Scripts/GUI/ActionObjectAimingMenu.cs @@ -193,6 +193,8 @@ public async Task UpdateMenu() { CancelAimingButton.SetInteractivity(true); await CheckDoneBtn(); AimingInProgress = true; + if (currentObject is ActionObject3D actionObject3D) + actionObject3D.UnHighlight(); UpdateCurrentPointLabel(); if (!automaticPointSelection && currentObject.ActionObjectMetadata.ObjectModel.Mesh.FocusPoints.Count > 1) { NextButton.SetInteractivity(true); @@ -207,6 +209,8 @@ public async Task UpdateMenu() { SavePositionButton.SetInteractivity(false, "No aiming in progress"); CancelAimingButton.SetInteractivity(false, "No aiming in progress"); AimingInProgress = false; + if (currentObject is ActionObject3D actionObject3D) + actionObject3D.Highlight(); } } else if (!currentObject.IsRobot() && !currentObject.IsCamera() && currentObject.ActionObjectMetadata.ObjectModel != null) { UpdatePositionBlockVO.SetActive(true); @@ -271,6 +275,8 @@ public async void CancelAiming() { try { await WebsocketManager.Instance.CancelObjectAiming(); AimingInProgress = false; + if (currentObject is ActionObject3D actionObject3D) + actionObject3D.Highlight(); if (currentFocusPoint >= 0 && currentFocusPoint < spheres.Count) spheres[currentFocusPoint].UnHighlight(); UpdateCurrentPointLabel(); @@ -319,6 +325,8 @@ await WebsocketManager.Instance.ObjectAimingStart(currentObject.Data.Id, SavePositionButton.SetInteractivity(true); CancelAimingButton.SetInteractivity(true); StartObjectFocusingButton.SetInteractivity(false, "Already aiming"); + if (currentObject is ActionObject3D actionObject3D) + actionObject3D.UnHighlight(); if (!automaticPointSelection && currentObject.ActionObjectMetadata.ObjectModel.Mesh.FocusPoints.Count > 1) { NextButton.SetInteractivity(true); PreviousButton.SetInteractivity(true); @@ -332,6 +340,8 @@ await WebsocketManager.Instance.ObjectAimingStart(currentObject.Data.Id, CurrentPointLabel.text = ""; currentFocusPoint = -1; AimingInProgress = false; + if (currentObject is ActionObject3D actionObject3D) + actionObject3D.Highlight(); if (ex.Message == "Focusing already started.") { //TODO HACK! find better solution FocusObjectDone(); } @@ -368,6 +378,8 @@ public async void FocusObjectDone() { PreviousButton.SetInteractivity(false, "No aiming in progress"); SavePositionButton.SetInteractivity(false, "No aiming in progress"); StartObjectFocusingButton.SetInteractivity(true); + if (currentObject is ActionObject3D actionObject3D) + actionObject3D.Highlight(); AimingInProgress = false; } catch (Base.RequestFailedException ex) { Base.NotificationsModernUI.Instance.ShowNotification("Failed to focus object", ex.Message); @@ -485,4 +497,13 @@ public void OpenSteppingMenu() { EditorHelper.EnableCanvasGroup(CanvasGroup, false); } + public void Highlight(bool enable) { + if (currentObject != null && currentObject is ActionObject3D actionObject) { + if (enable) + actionObject.Highlight(); + else + actionObject.UnHighlight(); + } + } + } diff --git a/arcor2_AREditor/Assets/TABLET/Scripts/GUI/LeftMenuScene.cs b/arcor2_AREditor/Assets/TABLET/Scripts/GUI/LeftMenuScene.cs index c6205a7ba..77421fd4a 100644 --- a/arcor2_AREditor/Assets/TABLET/Scripts/GUI/LeftMenuScene.cs +++ b/arcor2_AREditor/Assets/TABLET/Scripts/GUI/LeftMenuScene.cs @@ -131,6 +131,7 @@ private async void CancelObjectAiming() { try { await WebsocketManager.Instance.CancelObjectAiming(); ActionObjectAimingMenu.Instance.AimingInProgress = false; + ActionObjectAimingMenu.Instance.Highlight(true); DeactivateAllSubmenus(); ConfirmationDialog.Close(); } catch (RequestFailedException ex) {