summaryrefslogtreecommitdiffstats
path: root/src/Data/Level.h
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2008-04-12 21:06:05 +0200
committerneoraider <devnull@localhost>2008-04-12 21:06:05 +0200
commit7fa8e4b4faf6dca308607977d2c2aaa5428ca60d (patch)
tree8cbe7a0068ab0f73a7c6f3640d34c3cc11601edb /src/Data/Level.h
parent0c6471da931839b4e934d87df27ef208c74355c3 (diff)
downloadzoomedit-7fa8e4b4faf6dca308607977d2c2aaa5428ca60d.tar
zoomedit-7fa8e4b4faf6dca308607977d2c2aaa5428ca60d.zip
zoomedit:
* Made Rooms, Gates and Textures in Levels changable
Diffstat (limited to 'src/Data/Level.h')
-rw-r--r--src/Data/Level.h31
1 files changed, 28 insertions, 3 deletions
diff --git a/src/Data/Level.h b/src/Data/Level.h
index ab660a2..c72b503 100644
--- a/src/Data/Level.h
+++ b/src/Data/Level.h
@@ -25,6 +25,7 @@
#include "Gate.h"
#include "Texture.h"
#include <list>
+#include <map>
namespace ZoomEdit {
namespace Data {
@@ -33,17 +34,41 @@ class Level {
private:
Info info;
- std::list<Room> rooms;
+ std::map<Glib::ustring,Room> rooms;
xmlpp::Element *roomsNode;
- std::list<Gate> gates;
+ std::map<Glib::ustring,Gate> gates;
xmlpp::Element *gatesNode;
- std::list<Texture> textures;
+ std::map<Glib::ustring,Texture> textures;
xmlpp::Element *texturesNode;
public:
Level(xmlpp::Element *levelNode);
+
+ const std::map<Glib::ustring,Room>& getRooms() const {return rooms;}
+
+ Room* getRoom(const Glib::ustring &id);
+ const Room* getRoom(const Glib::ustring &id) const;
+
+ Room* addRoom(const Glib::ustring &id);
+ void removeRoom(const Glib::ustring &id);
+
+ const std::map<Glib::ustring,Gate>& getGates() const {return gates;}
+
+ Gate* getGate(const Glib::ustring &id);
+ const Gate* getGate(const Glib::ustring &id) const;
+
+ Gate* addGate(const Glib::ustring &id);
+ void removeGate(const Glib::ustring &id);
+
+ const std::map<Glib::ustring,Texture>& getTextures() const {return textures;}
+
+ Texture* getTexture(const Glib::ustring &id);
+ const Texture* getTexture(const Glib::ustring &id) const;
+
+ Texture* addTexture(const Glib::ustring &id);
+ void removeTexture(const Glib::ustring &id);
};
}