Files
o3de/Gems/PhysX/Code/Editor/Source/ComponentModes/PhysXSubComponentModeBase.h
T
amzn-sean 43748c37fd update joints to use cluster viewport ui. (#4352)
also some joints Component mode cleanup.

Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
2021-09-30 13:39:22 +01:00

49 lines
1.7 KiB
C++

/*
* 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
*
*/
#pragma once
namespace AZ
{
class EntityComponentIdPair;
} // namespace AZ
namespace AzToolsFramework::ViewportInteraction
{
struct MouseInteractionEvent;
} // namespace AzToolsFramework::ViewportInteraction
namespace PhysX
{
class PhysXSubComponentModeBase
{
public:
virtual ~PhysXSubComponentModeBase() = default;
//! Called when the mode is entered to initialize the mode.
//! @param idPair The entity/component id pair.
virtual void Setup(const AZ::EntityComponentIdPair& idPair) = 0;
//! Called when the mode needs to refresh it's values.
//! @param idPair The entity/component id pair.
virtual void Refresh(const AZ::EntityComponentIdPair& idPair) = 0;
//! Called when the mode exits to perform cleanup.
//! @param idPair The entity/component id pair.
virtual void Teardown(const AZ::EntityComponentIdPair& idPair) = 0;
//! Called when reset hot key is pressed.
//! Should reset values in the sub component mode to sensible defaults.
//! @param idPair The entity/component id pair.
virtual void ResetValues(const AZ::EntityComponentIdPair& idPair) = 0;
//! Additional mouse handling by sub-component mode. Does not absorb mouse event.
virtual void HandleMouseInteraction(
[[maybe_unused]] const AzToolsFramework::ViewportInteraction::MouseInteractionEvent& mouseInteraction) {};
};
} // namespace PhysX