From 65d7bb3fef6ca7ebf1c49c43482f996332e13134 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 16 Mar 2018 19:43:36 +1100 Subject: [PATCH] don't start instance until all bound players are present --- src/servers/sapphire_zone/Zone/InstanceContent.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/servers/sapphire_zone/Zone/InstanceContent.cpp b/src/servers/sapphire_zone/Zone/InstanceContent.cpp index 88a24417..16d7c478 100644 --- a/src/servers/sapphire_zone/Zone/InstanceContent.cpp +++ b/src/servers/sapphire_zone/Zone/InstanceContent.cpp @@ -104,17 +104,20 @@ void Core::InstanceContent::onUpdate( uint32_t currTime ) { case Created: { - // temporary handling for instance state progression - if( m_playerMap.size() < 1 ) + if( m_boundPlayerIds.size() == 0 ) return; + for( const auto& playerId : m_boundPlayerIds ) + { + auto it = m_playerMap.find( playerId ); + if( it == m_playerMap.end() ) + return; + } + for( const auto& playerIt : m_playerMap ) { const auto& player = playerIt.second; - if( !isPlayerBound( player->getId() ) ) - continue; - if( !player->isLoadingComplete() || !player->isDirectorInitialized() || !player->isOnEnterEventDone() ||