本文整理汇总了C++中ParticleEmitter::RemoveLayer方法的典型用法代码示例。如果您正苦于以下问题:C++ ParticleEmitter::RemoveLayer方法的具体用法?C++ ParticleEmitter::RemoveLayer怎么用?C++ ParticleEmitter::RemoveLayer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParticleEmitter
的用法示例。
在下文中一共展示了ParticleEmitter::RemoveLayer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PerformMoveBetweenEmitters
bool ParticlesEditorController::PerformMoveBetweenEmitters(EmitterParticleEditorNode* oldEmitterNode,
EmitterParticleEditorNode* newEmitterNode,
LayerParticleEditorNode* layerNodeToMove,
LayerParticleEditorNode* layerNodeToInsertAbove)
{
ParticleEmitter* oldParentEmitter = oldEmitterNode->GetParticleEmitter();
ParticleEmitter* newParentEmitter = newEmitterNode->GetParticleEmitter();
if (!oldParentEmitter || !newParentEmitter)
{
return false;
}
// Move the Editor node. layerNodeToInsertAbove is allowed to be NULL.
newEmitterNode->AddChildNodeAbove(layerNodeToMove, layerNodeToInsertAbove);
oldEmitterNode->RemoveChildNode(layerNodeToMove, false);
// Move the Particle Layers themselves.
ParticleLayer* layerToMove = layerNodeToMove->GetLayer();
ParticleLayer* layerToInsertAbove = NULL;
if (layerNodeToInsertAbove)
{
layerToInsertAbove = layerNodeToInsertAbove->GetLayer();
}
SafeRetain(layerToMove);
oldParentEmitter->RemoveLayer(layerToMove);
newParentEmitter->AddLayer(layerToMove, layerToInsertAbove);
SafeRelease(layerToMove);
// Update the emitter.
layerNodeToMove->UpdateEmitterEditorNode(newEmitterNode);
return true;
}
示例2: RemoveParticleLayerNode
void ParticlesEditorController::RemoveParticleLayerNode(LayerParticleEditorNode* layerToRemove)
{
if (!layerToRemove)
{
return;
}
EmitterParticleEditorNode* emitterNode = layerToRemove->GetEmitterEditorNode();
if (!emitterNode)
{
return;
}
ParticleEmitter* emitter = emitterNode->GetParticleEmitter();
if (!emitter)
{
return;
}
// Lookup for the layer to be removed.
int32 layerIndex = layerToRemove->GetLayerIndex();
if (layerIndex == -1)
{
return;
}
// Reset the selected node in case it is one to be removed.
CleanupSelectedNodeIfDeleting(layerToRemove);
// Remove the node from the layers list and also from the emitter.
emitter->RemoveLayer(layerIndex);
emitterNode->RemoveChildNode(layerToRemove);
}