Changed preview renderer states to use construction and destruction instead of start and stop functions to make sure everything is shut down cleanly

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
This commit is contained in:
Guthrie Adams
2021-10-12 11:26:14 -05:00
parent 36e201a1be
commit 26aa7495a2
9 changed files with 29 additions and 93 deletions
@@ -13,31 +13,24 @@ namespace AtomToolsFramework
{
PreviewRendererLoadState::PreviewRendererLoadState(PreviewRenderer* renderer)
: PreviewRendererState(renderer)
{
}
void PreviewRendererLoadState::Start()
{
m_renderer->LoadContent();
m_timeRemainingS = TimeOutS;
AZ::TickBus::Handler::BusConnect();
}
void PreviewRendererLoadState::Stop()
PreviewRendererLoadState::~PreviewRendererLoadState()
{
AZ::TickBus::Handler::BusDisconnect();
}
void PreviewRendererLoadState::OnTick(float deltaTime, [[maybe_unused]] AZ::ScriptTimePoint time)
{
m_timeRemainingS -= deltaTime;
if (m_timeRemainingS > 0.0f)
{
m_renderer->UpdateLoadContent();
}
else
if ((m_timeRemainingS += deltaTime) > TimeOutS)
{
m_renderer->CancelLoadContent();
return;
}
m_renderer->UpdateLoadContent();
}
} // namespace AtomToolsFramework