diff options
author | neoraider <devnull@localhost> | 2008-04-10 14:00:05 +0200 |
---|---|---|
committer | neoraider <devnull@localhost> | 2008-04-10 14:00:05 +0200 |
commit | 2271ef709f6785b2e156ddca311c7628b7803af0 (patch) | |
tree | 30c4ffc6d714a5577bb71c0d349f8013e43e907d /src/Data/Level.cpp | |
parent | 3c72a44fa4592e0105af6bb9a440b0da06d0bde4 (diff) | |
download | zoomedit-2271ef709f6785b2e156ddca311c7628b7803af0.tar zoomedit-2271ef709f6785b2e156ddca311c7628b7803af0.zip |
zoomedit:
* Level can load Room data from the XML tree now.
Diffstat (limited to 'src/Data/Level.cpp')
-rw-r--r-- | src/Data/Level.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/Data/Level.cpp b/src/Data/Level.cpp index 4da62ea..e3c69fd 100644 --- a/src/Data/Level.cpp +++ b/src/Data/Level.cpp @@ -22,7 +22,21 @@ namespace ZoomEdit { namespace Data { - +Level::Level(xmlpp::Element *levelNode) { + roomsNode = dynamic_cast<xmlpp::Element*>(levelNode->get_children("rooms").front()); + + if(!roomsNode) + return; + + xmlpp::Node::NodeList roomList = roomsNode->get_children("room"); + + for(xmlpp::Node::NodeList::iterator room = roomList.begin(); room != roomList.end(); ++room) { + xmlpp::Element *roomNode = dynamic_cast<xmlpp::Element*>(*room); + + if(roomNode) + rooms.push_front(Room(roomNode)); + } +} } } |