Camera Component, Editor Viewport Widget refactoring.
- Handle changing of active camera entirely inside CameraComponentController - Remove a LOT of legacy Cry things related to cameras - Add a CameraSystemComponent to handle ActiveCameraRequestBus and CameraSystemRequestBus Signed-off-by: Yuriy Toporovskyy <toporovskyy.y@gmail.com>
This commit is contained in:
+58
-57
@@ -3728,24 +3728,24 @@ void CCryEditApp::OnToolsPreferences()
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnSwitchToDefaultCamera()
|
||||
{
|
||||
CViewport* vp = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(vp))
|
||||
{
|
||||
rvp->SetDefaultCamera();
|
||||
}
|
||||
//CViewport* vp = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
//if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(vp))
|
||||
//{
|
||||
// rvp->SetDefaultCamera();
|
||||
//}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnUpdateSwitchToDefaultCamera(QAction* action)
|
||||
void CCryEditApp::OnUpdateSwitchToDefaultCamera([[maybe_unused]] QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
CViewport* pViewport = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(pViewport))
|
||||
{
|
||||
action->setEnabled(true);
|
||||
action->setChecked(rvp->IsDefaultCamera());
|
||||
}
|
||||
else
|
||||
//CViewport* pViewport = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
//if (false) // (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(pViewport))
|
||||
//{
|
||||
// action->setEnabled(true);
|
||||
// action->setChecked(rvp->IsDefaultCamera());
|
||||
//}
|
||||
//else
|
||||
{
|
||||
action->setEnabled(false);
|
||||
}
|
||||
@@ -3754,11 +3754,11 @@ void CCryEditApp::OnUpdateSwitchToDefaultCamera(QAction* action)
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnSwitchToSequenceCamera()
|
||||
{
|
||||
CViewport* vp = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(vp))
|
||||
{
|
||||
rvp->SetSequenceCamera();
|
||||
}
|
||||
//CViewport* vp = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
//if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(vp))
|
||||
//{
|
||||
// rvp->SetSequenceCamera();
|
||||
//}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -3766,27 +3766,27 @@ void CCryEditApp::OnUpdateSwitchToSequenceCamera(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
|
||||
CViewport* pViewport = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
//CViewport* pViewport = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
|
||||
if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(pViewport))
|
||||
{
|
||||
bool enableAction = false;
|
||||
//if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(pViewport))
|
||||
//{
|
||||
// bool enableAction = false;
|
||||
|
||||
// only enable if we're editing a sequence in Track View and have cameras in the level
|
||||
if (GetIEditor()->GetAnimation()->GetSequence())
|
||||
{
|
||||
// // only enable if we're editing a sequence in Track View and have cameras in the level
|
||||
// if (GetIEditor()->GetAnimation()->GetSequence())
|
||||
// {
|
||||
|
||||
AZ::EBusAggregateResults<AZ::EntityId> componentCameras;
|
||||
Camera::CameraBus::BroadcastResult(componentCameras, &Camera::CameraRequests::GetCameras);
|
||||
// AZ::EBusAggregateResults<AZ::EntityId> componentCameras;
|
||||
// Camera::CameraBus::BroadcastResult(componentCameras, &Camera::CameraRequests::GetCameras);
|
||||
|
||||
const int numCameras = componentCameras.values.size();
|
||||
enableAction = (numCameras > 0);
|
||||
}
|
||||
// const int numCameras = componentCameras.values.size();
|
||||
// enableAction = (numCameras > 0);
|
||||
// }
|
||||
|
||||
action->setEnabled(enableAction);
|
||||
action->setChecked(rvp->IsSequenceCamera());
|
||||
}
|
||||
else
|
||||
// action->setEnabled(enableAction);
|
||||
// action->setChecked(rvp->IsSequenceCamera());
|
||||
//}
|
||||
//else
|
||||
{
|
||||
action->setEnabled(false);
|
||||
}
|
||||
@@ -3795,31 +3795,32 @@ void CCryEditApp::OnUpdateSwitchToSequenceCamera(QAction* action)
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnSwitchToSelectedcamera()
|
||||
{
|
||||
CViewport* vp = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(vp))
|
||||
{
|
||||
rvp->SetSelectedCamera();
|
||||
}
|
||||
//CViewport* vp = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
//if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(vp))
|
||||
//{
|
||||
// rvp->SetSelectedCamera();
|
||||
//}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnUpdateSwitchToSelectedCamera(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
AzToolsFramework::EntityIdList selectedEntityList;
|
||||
AzToolsFramework::ToolsApplicationRequests::Bus::BroadcastResult(selectedEntityList, &AzToolsFramework::ToolsApplicationRequests::GetSelectedEntities);
|
||||
AZ::EBusAggregateResults<AZ::EntityId> cameras;
|
||||
Camera::CameraBus::BroadcastResult(cameras, &Camera::CameraRequests::GetCameras);
|
||||
bool isCameraComponentSelected = selectedEntityList.size() > 0 ? AZStd::find(cameras.values.begin(), cameras.values.end(), *selectedEntityList.begin()) != cameras.values.end() : false;
|
||||
(void)action;
|
||||
//AzToolsFramework::EntityIdList selectedEntityList;
|
||||
//AzToolsFramework::ToolsApplicationRequests::Bus::BroadcastResult(selectedEntityList, &AzToolsFramework::ToolsApplicationRequests::GetSelectedEntities);
|
||||
//AZ::EBusAggregateResults<AZ::EntityId> cameras;
|
||||
//Camera::CameraBus::BroadcastResult(cameras, &Camera::CameraRequests::GetCameras);
|
||||
//bool isCameraComponentSelected = selectedEntityList.size() > 0 ? AZStd::find(cameras.values.begin(), cameras.values.end(), *selectedEntityList.begin()) != cameras.values.end() : false;
|
||||
|
||||
CViewport* pViewport = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
CRenderViewport* rvp = viewport_cast<CRenderViewport*>(pViewport);
|
||||
if (isCameraComponentSelected && rvp)
|
||||
{
|
||||
action->setEnabled(true);
|
||||
action->setChecked(rvp->IsSelectedCamera());
|
||||
}
|
||||
else
|
||||
//CViewport* pViewport = GetIEditor()->GetViewManager()->GetSelectedViewport();
|
||||
//CRenderViewport* rvp = viewport_cast<CRenderViewport*>(pViewport);
|
||||
//if (isCameraComponentSelected && rvp)
|
||||
//{
|
||||
// action->setEnabled(true);
|
||||
// action->setChecked(rvp->IsSelectedCamera());
|
||||
//}
|
||||
//else
|
||||
{
|
||||
action->setEnabled(false);
|
||||
}
|
||||
@@ -3828,11 +3829,11 @@ void CCryEditApp::OnUpdateSwitchToSelectedCamera(QAction* action)
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnSwitchcameraNext()
|
||||
{
|
||||
CViewport* vp = GetIEditor()->GetActiveView();
|
||||
if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(vp))
|
||||
{
|
||||
rvp->CycleCamera();
|
||||
}
|
||||
//CViewport* vp = GetIEditor()->GetActiveView();
|
||||
//if (CRenderViewport* rvp = viewport_cast<CRenderViewport*>(vp))
|
||||
//{
|
||||
// rvp->CycleCamera();
|
||||
//}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user