From df0fede8d295b08563e7201785c080847fffb316 Mon Sep 17 00:00:00 2001 From: hasareej Date: Wed, 9 Jun 2021 16:42:28 +0100 Subject: [PATCH 1/3] Hiding the 2 Clusters during Gameplay mode Signed-off-by: hultonha --- .../EditorTransformComponentSelection.cpp | 14 ++++++++++++++ .../EditorTransformComponentSelection.h | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp index 0dbaa42e1a..04af44ad79 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp @@ -1009,6 +1009,7 @@ namespace AzToolsFramework ToolsApplicationNotificationBus::Handler::BusConnect(); Camera::EditorCameraNotificationBus::Handler::BusConnect(); ComponentModeFramework::EditorComponentModeNotificationBus::Handler::BusConnect(entityContextId); + EditorEntityContextNotificationBus::Handler::BusConnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterConnect(); EditorEntityLockComponentNotificationBus::Router::BusRouterConnect(); EditorManipulatorCommandUndoRedoRequestBus::Handler::BusConnect(entityContextId); @@ -1038,6 +1039,7 @@ namespace AzToolsFramework EditorEntityLockComponentNotificationBus::Router::BusRouterDisconnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterDisconnect(); ComponentModeFramework::EditorComponentModeNotificationBus::Handler::BusDisconnect(); + EditorEvents::Bus::Handler::BusDisconnect(); Camera::EditorCameraNotificationBus::Handler::BusDisconnect(); ToolsApplicationNotificationBus::Handler::BusDisconnect(); EditorTransformComponentSelectionRequestBus::Handler::BusDisconnect(); @@ -3625,6 +3627,18 @@ namespace AzToolsFramework ETCS::SetEntityLocalRotation(entityId, localRotation, m_transformChangedInternally); } + void EditorTransformComponentSelection::OnStartPlayInEditor() + { + SetViewportUiClusterVisible(m_transformModeClusterId, false); + SetViewportUiClusterVisible(m_spaceCluster.m_spaceClusterId, false); + } + + void EditorTransformComponentSelection::OnStopPlayInEditor() + { + SetViewportUiClusterVisible(m_transformModeClusterId, true); + SetViewportUiClusterVisible(m_spaceCluster.m_spaceClusterId, true); + } + namespace ETCS { // little raii wrapper to switch a value from true to false and back diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h index 2f1016cd6d..ccff1056ce 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h @@ -128,6 +128,7 @@ namespace AzToolsFramework , private ToolsApplicationNotificationBus::Handler , private Camera::EditorCameraNotificationBus::Handler , private ComponentModeFramework::EditorComponentModeNotificationBus::Handler + , private EditorEntityContextNotificationBus::Handler , private EditorEntityVisibilityNotificationBus::Router , private EditorEntityLockComponentNotificationBus::Router , private EditorManipulatorCommandUndoRedoRequestBus::Handler @@ -264,6 +265,10 @@ namespace AzToolsFramework void EnteredComponentMode(const AZStd::vector& componentModeTypes) override; void LeftComponentMode(const AZStd::vector& componentModeTypes) override; + // EditorEntityContextNotificationBus ... + void OnStartPlayInEditor() override; + void OnStopPlayInEditor() override; + // Helpers to safely interact with the TransformBus (requests). void SetEntityWorldTranslation(AZ::EntityId entityId, const AZ::Vector3& worldTranslation); void SetEntityLocalTranslation(AZ::EntityId entityId, const AZ::Vector3& localTranslation); From 32687cbcb23f0488187637e1f6951df6d8f03273 Mon Sep 17 00:00:00 2001 From: hasareej Date: Fri, 11 Jun 2021 12:18:03 +0100 Subject: [PATCH 2/3] PR feedback changes Signed-off-by: hultonha --- .../EditorTransformComponentSelection.cpp | 23 +++++++++++-------- .../EditorTransformComponentSelection.h | 5 +++- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp index 04af44ad79..840a57d353 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp @@ -488,6 +488,13 @@ namespace AzToolsFramework return worldFromLocal.TransformPoint(CalculateCenterOffset(entityId, pivot)); } + void EditorTransformComponentSelection::SetAllViewportUiVisible(const bool visible) + { + SetViewportUiClusterVisible(m_transformModeClusterId, visible); + SetViewportUiClusterVisible(m_spaceCluster.m_spaceClusterId, visible); + m_viewportUiVisible = visible; + } + void EditorTransformComponentSelection::UpdateSpaceCluster(const ReferenceFrame referenceFrame) { auto buttonIdFromFrameFn = [this](const ReferenceFrame referenceFrame) @@ -1038,8 +1045,8 @@ namespace AzToolsFramework EditorManipulatorCommandUndoRedoRequestBus::Handler::BusDisconnect(); EditorEntityLockComponentNotificationBus::Router::BusRouterDisconnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterDisconnect(); + EditorEntityContextNotificationBus::Handler::BusDisconnect(); ComponentModeFramework::EditorComponentModeNotificationBus::Handler::BusDisconnect(); - EditorEvents::Bus::Handler::BusDisconnect(); Camera::EditorCameraNotificationBus::Handler::BusDisconnect(); ToolsApplicationNotificationBus::Handler::BusDisconnect(); EditorTransformComponentSelectionRequestBus::Handler::BusDisconnect(); @@ -2389,9 +2396,7 @@ namespace AzToolsFramework /*ID_VIEWPORTUI_VISIBLE=*/50040, "Toggle Viewport UI", "Hide/Show Viewport UI", [this]() { - SetViewportUiClusterVisible(m_transformModeClusterId, !m_viewportUiVisible); - SetViewportUiClusterVisible(m_spaceCluster.m_spaceClusterId, !m_viewportUiVisible); - m_viewportUiVisible = !m_viewportUiVisible; + SetAllViewportUiVisible(!m_viewportUiVisible); }); EditorMenuRequestBus::Broadcast(&EditorMenuRequests::RestoreEditMenuToDefault); @@ -3562,7 +3567,7 @@ namespace AzToolsFramework void EditorTransformComponentSelection::EnteredComponentMode([[maybe_unused]] const AZStd::vector& componentModeTypes) { - SetViewportUiClusterVisible(m_transformModeClusterId, false); + SetAllViewportUiVisible(false); EditorEntityLockComponentNotificationBus::Router::BusRouterDisconnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterDisconnect(); @@ -3571,7 +3576,7 @@ namespace AzToolsFramework void EditorTransformComponentSelection::LeftComponentMode([[maybe_unused]] const AZStd::vector& componentModeTypes) { - SetViewportUiClusterVisible(m_transformModeClusterId, true); + SetAllViewportUiVisible(true); ToolsApplicationNotificationBus::Handler::BusConnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterConnect(); @@ -3629,14 +3634,12 @@ namespace AzToolsFramework void EditorTransformComponentSelection::OnStartPlayInEditor() { - SetViewportUiClusterVisible(m_transformModeClusterId, false); - SetViewportUiClusterVisible(m_spaceCluster.m_spaceClusterId, false); + SetAllViewportUiVisible(false); } void EditorTransformComponentSelection::OnStopPlayInEditor() { - SetViewportUiClusterVisible(m_transformModeClusterId, true); - SetViewportUiClusterVisible(m_spaceCluster.m_spaceClusterId, true); + SetAllViewportUiVisible(true); } namespace ETCS diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h index ccff1056ce..1d72328d2d 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h @@ -265,7 +265,7 @@ namespace AzToolsFramework void EnteredComponentMode(const AZStd::vector& componentModeTypes) override; void LeftComponentMode(const AZStd::vector& componentModeTypes) override; - // EditorEntityContextNotificationBus ... + // EditorEntityContextNotificationBus overrides ... void OnStartPlayInEditor() override; void OnStopPlayInEditor() override; @@ -279,6 +279,9 @@ namespace AzToolsFramework // Responsible for keeping the space cluster in sync with the current reference frame. void UpdateSpaceCluster(ReferenceFrame referenceFrame); + // Hides/Shows all viewportUi toolbars. + void SetAllViewportUiVisible(const bool visible); + AZ::EntityId m_hoveredEntityId; //!< What EntityId is the mouse currently hovering over (if any). AZ::EntityId m_cachedEntityIdUnderCursor; //!< Store the EntityId on each mouse move for use in Display. AZ::EntityId m_editorCameraComponentEntityId; //!< The EditorCameraComponent EntityId if it is set. From 8408f6b815e41b3de0b5b214ffdbf23c2fa7e6cf Mon Sep 17 00:00:00 2001 From: hasareej Date: Fri, 11 Jun 2021 14:10:02 +0100 Subject: [PATCH 3/3] PR feedback changes 2.0 Signed-off-by: hultonha --- .../ViewportSelection/EditorTransformComponentSelection.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h index 1d72328d2d..25af003930 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h @@ -276,11 +276,11 @@ namespace AzToolsFramework void SetEntityLocalScale(AZ::EntityId entityId, float localScale); void SetEntityLocalRotation(AZ::EntityId entityId, const AZ::Vector3& localRotation); - // Responsible for keeping the space cluster in sync with the current reference frame. + //! Responsible for keeping the space cluster in sync with the current reference frame. void UpdateSpaceCluster(ReferenceFrame referenceFrame); - // Hides/Shows all viewportUi toolbars. - void SetAllViewportUiVisible(const bool visible); + //! Hides/Shows all viewportUi toolbars. + void SetAllViewportUiVisible(bool visible); AZ::EntityId m_hoveredEntityId; //!< What EntityId is the mouse currently hovering over (if any). AZ::EntityId m_cachedEntityIdUnderCursor; //!< Store the EntityId on each mouse move for use in Display.