void ADA2UE4Creature::PostInitializeComponents() { Super::PostInitializeComponents(); // Call to load library and setup meshes InitDefaultMeshes(0, 1, 2, 3, 4, 5); }
//----------------------------------------------------------------------------- // Purpose: Builds all navigation meshes //----------------------------------------------------------------------------- bool CRecastMgr::Build( bool loadDefaultMeshes ) { double fStartTime = Plat_FloatTime(); // Load map mesh if( !LoadMapMesh() ) { Warning("CRecastMesh::Build: failed to load map data!\n"); return false; } // Insert all meshes first if( loadDefaultMeshes ) { InitDefaultMeshes(); } CUtlVector<CRecastMesh *> meshesToBuild; for ( int i = m_Meshes.First(); i != m_Meshes.InvalidIndex(); i = m_Meshes.Next(i ) ) { if( IsMeshBuildDisabled( m_Meshes[i]->GetName() ) ) continue; meshesToBuild.AddToTail( m_Meshes[i] ); } // Create meshes if( recast_build_threaded.GetBool() ) { // Build threaded CParallelProcessor<CRecastMesh *, CFuncJobItemProcessor<CRecastMesh *>, 2 > processor; processor.m_ItemProcessor.Init( &ThreadedBuildMesh, &PreThreadedBuildMesh, &PostThreadedBuildMesh ); processor.Run( meshesToBuild.Base(), meshesToBuild.Count(), 1, recast_build_numthreads.GetInt(), g_pThreadPool ); } else { if( V_strlen( recast_build_single.GetString() ) > 0 ) { BuildMesh( m_pMapMesh, recast_build_single.GetString() ); } else { for( int i = 0; i < meshesToBuild.Count(); i++ ) { BuildMesh( m_pMapMesh, meshesToBuild[i]->GetName() ); } } } m_bLoaded = true; DevMsg( "CRecastMgr: Finished generating %d meshes in %f seconds\n", m_Meshes.Count(), Plat_FloatTime() - fStartTime ); return true; }