本文整理汇总了C++中Entity::AddNode方法的典型用法代码示例。如果您正苦于以下问题:C++ Entity::AddNode方法的具体用法?C++ Entity::AddNode怎么用?C++ Entity::AddNode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Entity
的用法示例。
在下文中一共展示了Entity::AddNode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PreprocessSceneNode
Entity* ParticlesEditorSceneModelHelper::PreprocessSceneNode(Entity* rawNode)
{
// There is one and only preprocessing case - if the "raw" node is "orphaned" Particles Emitter
// (without the ParticlesEffectNode parent), we'll create the new Particles Effect node and
// move the raw Emitter node to it.
ParticleEmitter * emitter = GetEmitter(rawNode);
if (!emitter)
{
return rawNode;
}
//ParticleEmitterNode* emitterNode = static_cast<ParticleEmitterNode*>(rawNode);
//emitterNode->SetEmitter(emitterComponent->GetParticleEmitter());
Entity* curParentNode = rawNode->GetParent();
ParticleEffectComponent * effectComponent = cast_if_equal<ParticleEffectComponent*>(curParentNode->GetComponent(Component::PARTICLE_EFFECT_COMPONENT));
// If the Emitter Node has parent, but its parent is not ParticleEffectNode, we need to
// "adopt" this node by creating ParticleEffect node and attaching.
if (curParentNode && (effectComponent == NULL))
{
Entity* newParentNodeParticleEffect = CreateParticleEffectNode();
curParentNode->AddNode(newParentNodeParticleEffect);
// Add the emitter node to the new Effect (this will also remove it from the scene).
newParentNodeParticleEffect->AddNode(rawNode);
// Register the Particle Editor structure for the new node.
EffectParticleEditorNode* effectEditorNode =
ParticlesEditorController::Instance()->RegisterParticleEffectNode(newParentNodeParticleEffect);
EmitterParticleEditorNode* emitterEditorNode = new EmitterParticleEditorNode(newParentNodeParticleEffect,
rawNode, QString::fromStdString(rawNode->GetName()));
effectEditorNode->AddNode(emitterEditorNode);
return newParentNodeParticleEffect;
}
// No preprocessing needed.
return rawNode;
}