summaryrefslogtreecommitdiffstats
path: root/src/Data/Level.cpp
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2008-04-10 14:00:05 +0200
committerneoraider <devnull@localhost>2008-04-10 14:00:05 +0200
commit2271ef709f6785b2e156ddca311c7628b7803af0 (patch)
tree30c4ffc6d714a5577bb71c0d349f8013e43e907d /src/Data/Level.cpp
parent3c72a44fa4592e0105af6bb9a440b0da06d0bde4 (diff)
downloadzoomedit-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.cpp16
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));
+ }
+}
}
}