SceneNode *SceneGraph::AddNewNode(SceneNode *parentNode, char *name = 0) { SceneNode *newNode = new SceneNode(); char newName[40]; if (name == 0) { sprintf(newName, "SceneObject_%d", id_count++); } else { if (strlen(name) > 31) { name[32] = 0; } sprintf(newName, "%s_%d", name, id_count++); } newNode->SetName(newName); if(parentNode != 0) { parentNode->AddChild(newNode); } else { root->AddChild(newNode); } return newNode; }
SceneNode* ParticlesEditorSceneModelHelper::CreateParticleEffectNode() { SceneNode * newParentNodeParticleEffect = new SceneNode(); newParentNodeParticleEffect->SetName("Particle effect"); ParticleEffectComponent * newEffectComponent = new ParticleEffectComponent(); newParentNodeParticleEffect->AddComponent(newEffectComponent); return newParentNodeParticleEffect; }