Updates to EMFX cameras and better support for character follow behavior (#7676)
* initial wip change to help resolve EMFX camera viewport issue Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com> * some updates to add/remove camera input API Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com> * add additional comments and remove some optimize off calls Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com> * improvements to camera behavior in EMFX editor Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com> * add some tests for add/remove logic for cameras Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
d31200ee5c
commit
6ffc2620e4
@@ -490,4 +490,40 @@ namespace UnitTest
|
||||
EXPECT_THAT(m_orbitCamera->Ending(), IsFalse());
|
||||
EXPECT_THAT(m_orbitCamera->Idle(), IsTrue());
|
||||
}
|
||||
|
||||
TEST_F(CameraInputFixture, NewCameraInputCanBeAddedToCameraSystem)
|
||||
{
|
||||
auto firstPersonPanCamera = AZStd::make_shared<AzFramework::PanCameraInput>(
|
||||
AzFramework::InputDeviceMouse::Button::Middle, AzFramework::LookPan, AzFramework::TranslatePivotLook);
|
||||
const bool added =
|
||||
m_cameraSystem->m_cameras.AddCameras(AZStd::vector<AZStd::shared_ptr<AzFramework::CameraInput>>{ firstPersonPanCamera });
|
||||
|
||||
EXPECT_THAT(added, ::testing::IsTrue());
|
||||
}
|
||||
|
||||
TEST_F(CameraInputFixture, ExistingCameraInputCannotBeAddedToCameraSystem)
|
||||
{
|
||||
const bool added =
|
||||
m_cameraSystem->m_cameras.AddCameras(AZStd::vector<AZStd::shared_ptr<AzFramework::CameraInput>>{ m_firstPersonRotateCamera });
|
||||
|
||||
EXPECT_THAT(added, ::testing::IsFalse());
|
||||
}
|
||||
|
||||
TEST_F(CameraInputFixture, ExistingCameraInputCanBeRemovedFromCameraSystem)
|
||||
{
|
||||
const bool removed = m_cameraSystem->m_cameras.RemoveCameras(
|
||||
AZStd::vector<AZStd::shared_ptr<AzFramework::CameraInput>>{ m_firstPersonRotateCamera });
|
||||
|
||||
EXPECT_THAT(removed, ::testing::IsTrue());
|
||||
}
|
||||
|
||||
TEST_F(CameraInputFixture, NonExistentCameraInputCannotBeRemovedFromCameraSystem)
|
||||
{
|
||||
auto firstPersonPanCamera = AZStd::make_shared<AzFramework::PanCameraInput>(
|
||||
AzFramework::InputDeviceMouse::Button::Middle, AzFramework::LookPan, AzFramework::TranslatePivotLook);
|
||||
const bool removed = m_cameraSystem->m_cameras.RemoveCameras(
|
||||
AZStd::vector<AZStd::shared_ptr<AzFramework::CameraInput>>{ firstPersonPanCamera });
|
||||
|
||||
EXPECT_THAT(removed, ::testing::IsFalse());
|
||||
}
|
||||
} // namespace UnitTest
|
||||
|
||||
Reference in New Issue
Block a user