Atom Tools: Restoring idle behavior for viewport input behavior controller

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
This commit is contained in:
Guthrie Adams
2022-02-14 15:29:42 -06:00
parent 60d7533301
commit 3bdb0f5d9b
5 changed files with 50 additions and 0 deletions
@@ -0,0 +1,18 @@
/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#include <AtomToolsFramework/Viewport/ViewportInputBehaviorController/IdleBehavior.h>
#include <AtomToolsFramework/Viewport/ViewportInputBehaviorController/ViewportInputBehaviorControllerInterface.h>
namespace AtomToolsFramework
{
IdleBehavior::IdleBehavior(ViewportInputBehaviorControllerInterface* controller)
: ViewportInputBehavior(controller)
{
}
} // namespace AtomToolsFramework
@@ -280,8 +280,14 @@ namespace AtomToolsFramework
void ViewportInputBehaviorController::EvaluateControlBehavior()
{
auto it = m_behaviorMap.find(m_keys);
if (it == m_behaviorMap.end())
{
it = m_behaviorMap.find(None);
}
AZStd::shared_ptr<ViewportInputBehavior> nextBehavior =
it != m_behaviorMap.end() ? it->second : AZStd::shared_ptr<ViewportInputBehavior>();
if (m_behavior != nextBehavior)
{
if (m_behavior)