void LodSystem::UpdateEntityAfterLoad(SceneNode * entity) { LodComponent * lod = static_cast<LodComponent*>(entity->GetComponent(Component::LOD_COMPONENT)); for (Vector<LodComponent::LodData>::iterator it = lod->lodLayers.begin(); it != lod->lodLayers.end(); ++it) { LodComponent::LodData & ld = *it; size_t size = ld.indexes.size(); for (size_t idx = 0; idx < size; ++idx) { SceneNode * childEntity = entity->GetChild(ld.indexes[idx]); ld.nodes.push_back(childEntity); { childEntity->SetLodVisible(false); } } } lod->currentLod = NULL; if(lod->lodLayers.size() > 0) { lod->SetCurrentLod(&(*lod->lodLayers.rbegin())); } }