выяснить, где приложить любые узлы, которые мы создаем mAttachNode = pAttachNode; если (! mAttachNode) mAttachNode = mSceneMgr-> getRootSceneNode (); //
Обработайте сцены processScene (XMLRoot);
//закрыть файл XML удалить XMLDoc;}
аннулированию DotSceneLoader :: processScene (TiXmlElement * XMLRoot) {//Процесс сцена параметров Строка версия = getAttrib (XMLRoot, "formatVersion", "неизвестно");
Строка сообщение = "[DotSceneLoader] Разбор dotScene файл с версией" + версии; если (XMLRoot-> Атрибут ("ID")) + = сообщение ", ИД" + String (XMLRoot-> Атрибут ("ID")); если (XMLRoot-> Атрибут () "SceneManager") сообщение + = ", менеджер сцены" + String (XMLRoot-> Атрибут ("SceneManager")); если (XMLRoot-> Атрибут ("minOgreVersion")) + = сообщение ", мин версия Огре.
" + String (XMLRoot-> Атрибут ("minOgreVersion")); если (XMLRoot-> Атрибут () "автор") сообщение + = ", автор" + String (XMLRoot-> Атрибут ("автор"));
LogManager :: getSingleton () LogMessage (сообщение);.
TiXmlElement * pElement;
//Технологические узлы pElement = XMLRoot-> FirstChildElement ("узлы") (?); если (pElement) processNodes (pElement); (?)
//Технологические Создание внешних pElement = XMLRoot-> FirstChildElement ("внешние"); если (pElement) processExternals (pElement) (?);
//Процесс среда pElement = XMLRoot-> FirstChildElement («окружающая среда»); если (pElement) processEnvironment (pElement) (?);
//Процесс местности pElement = XMLRoot-> FirstChildElement ("ландшафт"); если (pElement) processTerrain (pElement);
//Процесс userDataReference pElement = XMLRoot-> FirstChildElement ("userDataReference") (?); если (pElement) processUserDataReference (pElement) (?);
//Процесс Octree pElement = XMLRoot-> FirstChildElement ("Octree"); если (pElement) processOctree (pElement);
//Процесс свет pElement = XMLRoot-> FirstChildElement ("свет") (?); если (pElement) processLight (pElement) (?);
//Процесс камеры pElement = XMLRoot-> FirstChildElement ("Камера"); если (pElement) processCamera (pElement);}
аннулированию DotSceneLoader :: processNodes (TiXmlElement * XMLNode) {TiXmlElement * pElement;
//Процесс узел (*) = pElement XMLNode-> FirstChildElement ("узел"); в то время как (pElement) {processNode (pElement); pElement = pElement-> NextSiblingElement ("узел"); } //
позиция Процесс pElement = XMLNode-> FirstChildElement ("Положение") (?); если (pElement) {mAttachNode-> SetPosition (parseVector3 (pElement)); mAttachNode->