diff options
author | neoraider <devnull@localhost> | 2008-02-13 22:06:01 +0100 |
---|---|---|
committer | neoraider <devnull@localhost> | 2008-02-13 22:06:01 +0100 |
commit | c4aadd98230f3b9ab50398b715164ff874ea8a61 (patch) | |
tree | 8b6fcaf48fb0a7eb9af6fd1483659ab4d6e5c000 /Level.h | |
parent | 16397f4474fbbe5f140a5e68b3bb6934170bf2e3 (diff) | |
download | zoomedit-c4aadd98230f3b9ab50398b715164ff874ea8a61.tar zoomedit-c4aadd98230f3b9ab50398b715164ff874ea8a61.zip |
zoomedit: Vertices are selectable now.
Diffstat (limited to 'Level.h')
-rw-r--r-- | Level.h | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -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); } }; |