Exemplo n.º 1
0
Node* SceneReader::nodeByTag(Node *parent, int tag)
{		
    if (parent == nullptr)
    {
        return nullptr;
    }
    Node *_retNode = nullptr;
    Vector<Node*>& Children = parent->getChildren();
    Vector<Node*>::iterator iter = Children.begin();
    while (iter != Children.end())
    {
        Node* pNode = *iter;
        if(pNode != nullptr && pNode->getTag() == tag)
        {
            _retNode =  pNode;
            break;
        }
        else
        {
            _retNode = nodeByTag(pNode, tag);
            if (_retNode != nullptr)
            {
                break;
            }

        }
        ++iter;
    }
    return _retNode;
}
Exemplo n.º 2
0
	CCNode* SceneReader::nodeByTag(CCNode *pParent, int nTag)
	{		
		if (pParent == NULL)
		{
			return NULL;
		}
		CCNode *_retNode = NULL;
		CCArray *pChildren = pParent->getChildren();
		if(pChildren && pChildren->count() > 0)
		{
			CCObject* child;
			CCARRAY_FOREACH(pChildren, child)
			{
				CCNode* pNode = (CCNode*)child;
				if(pNode && pNode->getTag() == nTag)
				{
					_retNode =  pNode;
					break;
				}
				else
				{
					_retNode = nodeByTag(pNode, nTag);
					if (_retNode != NULL)
					{
						break;
					}
					
				}
			}
Exemplo n.º 3
0
Node* SceneReader::getNodeByTag(int nTag)
{
    if (_node == nullptr)
    {
        return nullptr;
    }
    if (_node->getTag() == nTag)
    {
        return _node;
    }
    return nodeByTag(_node, nTag);
}