Fix particles view information in Editor when Game window is unused

This commit is contained in:
Wojtek Figat
2021-02-19 11:23:18 +01:00
parent cc980fd70d
commit ce9df56a97
8 changed files with 54 additions and 19 deletions

View File

@@ -339,6 +339,39 @@ void ParticleEffect::Sync()
}
}
SceneRenderTask* ParticleEffect::GetRenderTask() const
{
const uint64 minFrame = Engine::FrameCount - 2;
// Custom task
const auto customViewRenderTask = CustomViewRenderTask.Get();
if (customViewRenderTask && customViewRenderTask->Enabled && customViewRenderTask->LastUsedFrame >= minFrame)
return customViewRenderTask;
// Main task
const auto mainRenderTask = MainRenderTask::Instance;
if (mainRenderTask && mainRenderTask->Enabled && mainRenderTask->LastUsedFrame >= minFrame)
return mainRenderTask;
// Editor viewport
#if USE_EDITOR
for (auto task : RenderTask::Tasks)
{
if (task->LastUsedFrame >= minFrame && task->Enabled)
{
if (const auto sceneRenderTask = Cast<SceneRenderTask>(task))
{
if (sceneRenderTask->ActorsSource == ActorsSources::Scenes)
{
return sceneRenderTask;
}
}
}
}
#endif
return nullptr;
}
#if USE_EDITOR
Array<ParticleEffect::ParameterOverride> ParticleEffect::GetParametersOverrides()