NODEARG();
naRef child = naVec_get(args, 0);
if(!naIsString(child)) return naNil();
- SGPropertyNode* n = (*node)->getChild(naStr_data(child));
+ naRef idx = naNumValue(naVec_get(args, 1));
+ SGPropertyNode* n;
+ if(naIsNil(idx) || !naIsNum(idx)) {
+ n = (*node)->getChild(naStr_data(child));
+ } else {
+ n = (*node)->getChild(naStr_data(child), (int)idx.num);
+ }
if(!n) return naNil();
return propNodeGhostCreate(c, n);
}
if(!naIsString(name)) return naNil();
vector<SGPropertyNode_ptr> children
= (*node)->getChildren(naStr_data(name));
- for(int i=0; i<children.size(); i++)
+ for(unsigned int i=0; i<children.size(); i++)
naVec_append(result, propNodeGhostCreate(c, children[i]));
}
return result;