Ejemplo n.º 1
0
bool World::Load(pXmlTree tree){
    if(tree==NULL) return false;

    Free();
    pXmlTreeList  tmpTreeList;
    string        str;

    gLOG.SetCurrentEntry("World");
    gLOG.Append("Loading World: %s",tree->GetData().c_str());
    gLOG.SetDeltaIndent(2);
    tmpTreeList = tree->GetSubTrees();

    for(unsigned int i=0;i<tmpTreeList->size();i++){
        if(tmpTreeList->at(i)->GetName()=="Object"){
            pWorldObject obj = new WorldObject();
            if(obj->Load(tmpTreeList->at(i))){
                AddObject(obj,true);
            }
        }else if(tmpTreeList->at(i)->GetName()=="FixJoint"){
            WorldObjectLink* link = new WorldObjectLink(tmpTreeList->at(i)->Get("ObjectA",string("")),
                                                        tmpTreeList->at(i)->Get("ObjectB",string("")));
            mObjectLinks.push_back(link);
        }

    }
    gLOG.SetDeltaIndent(-2);
    return true;
}