void ModelRenderManager::UpdateMobilesToRender(const ObjectMap& objectMap)
{
   auto iter = m_mapMobileObjectRenderInstances.begin();
   auto stop = m_mapMobileObjectRenderInstances.end();

   for (; iter != stop; ++iter)
   {
      ObjectRef objRef = objectMap.FindObject(iter->first);
      ATLASSERT(objRef.m_sp != NULL);

      MobilePtr spMobile = std::dynamic_pointer_cast<Mobile>(objRef.m_sp);
      ATLASSERT(spMobile != NULL);

      std::shared_ptr<ModelRenderInstance> spRenderInstance = iter->second;

      spRenderInstance->SetPosition(spMobile->Pos(), spMobile->ViewAngle());
      spRenderInstance->UpdateMovementInfo(spMobile->GetMovementInfo());

      if (m_selectedObjectId != ObjectId::Null())
      {
         bool bSelected = spMobile->Id() == m_selectedObjectId;
         spRenderInstance->SetSelected(bSelected);
      }
   }
}