Give MultiViewportControllerInstances a pointer to their parent controller, to allow state management

This commit is contained in:
nvsickle
2021-04-30 10:43:27 -07:00
parent b294c88e2a
commit db9df91977
8 changed files with 49 additions and 27 deletions
@@ -17,10 +17,17 @@
namespace SandboxEditor
{
class ModernViewportCameraControllerInstance final : public AzFramework::MultiViewportControllerInstanceInterface
class ModernViewportCameraControllerInstance;
class ModernViewportCameraController : public AzFramework::MultiViewportController<ModernViewportCameraControllerInstance>
{
public:
explicit ModernViewportCameraControllerInstance(AzFramework::ViewportId viewportId);
AzFramework::Cameras GetCameras() const;
};
class ModernViewportCameraControllerInstance final : public AzFramework::MultiViewportControllerInstanceInterface<ModernViewportCameraController>
{
public:
explicit ModernViewportCameraControllerInstance(AzFramework::ViewportId viewportId, ModernViewportCameraController* controller);
// MultiViewportControllerInstanceInterface overrides ...
bool HandleInputChannelEvent(const AzFramework::ViewportControllerInputEvent& event) override;
@@ -32,6 +39,4 @@ namespace SandboxEditor
AzFramework::SmoothProps m_smoothProps;
AzFramework::CameraSystem m_cameraSystem;
};
using ModernViewportCameraController = AzFramework::MultiViewportController<ModernViewportCameraControllerInstance>;
} // namespace SandboxEditor