summaryrefslogtreecommitdiffstats
path: root/Level.h
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2008-02-13 22:06:01 +0100
committerneoraider <devnull@localhost>2008-02-13 22:06:01 +0100
commitc4aadd98230f3b9ab50398b715164ff874ea8a61 (patch)
tree8b6fcaf48fb0a7eb9af6fd1483659ab4d6e5c000 /Level.h
parent16397f4474fbbe5f140a5e68b3bb6934170bf2e3 (diff)
downloadzoomedit-c4aadd98230f3b9ab50398b715164ff874ea8a61.tar
zoomedit-c4aadd98230f3b9ab50398b715164ff874ea8a61.zip
zoomedit: Vertices are selectable now.
Diffstat (limited to 'Level.h')
-rw-r--r--Level.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/Level.h b/Level.h
index ede34db..792a8fc 100644
--- a/Level.h
+++ b/Level.h
@@ -6,13 +6,23 @@
#include "SharedPtr.h"
#include "PlayerStart.h"
#include "Portal.h"
+#include "LevelVertex.h"
#include <vector>
class Level : public std::vector<SharedPtr<LevelObject> > {
public:
Level() {
- push_back(SharedPtr<LevelObject>(new PlayerStart()));
- push_back(SharedPtr<LevelObject>(new Portal(2, 2, 0.4f)));
+ addWithChildren(SharedPtr<LevelObject>(new PlayerStart()));
+ addWithChildren(SharedPtr<LevelObject>(new Portal(2, 2, 0.4f)));
+ }
+
+ void addWithChildren(SharedPtr<LevelObject> object) {
+ push_back(object);
+
+ std::vector<SharedPtr<LevelObject> > children = object->getChildren();
+
+ for(std::vector<SharedPtr<LevelObject> >::iterator child = children.begin(); child != children.end(); child++)
+ addWithChildren(*child);
}
};