From 184c6305a677d968e60eb6cba9b29dd840cdce3c Mon Sep 17 00:00:00 2001 From: neoraider Date: Sun, 13 Apr 2008 01:59:01 +0000 Subject: zoomedit: * New data interfaces, yay! Levels should now be completely editable * Fixed some -Wextra warnings --- src/Data/Level.h | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'src/Data/Level.h') diff --git a/src/Data/Level.h b/src/Data/Level.h index c72b503..34b5b1a 100644 --- a/src/Data/Level.h +++ b/src/Data/Level.h @@ -21,54 +21,56 @@ #define ZOOMEDIT_DATA_LEVEL_H_ #include "Info.h" -#include "Room.h" -#include "Gate.h" -#include "Texture.h" #include -#include namespace ZoomEdit { namespace Data { +class Room; +class Gate; +class Texture; + class Level { private: Info info; - std::map rooms; + std::list rooms; xmlpp::Element *roomsNode; - std::map gates; + std::list gates; xmlpp::Element *gatesNode; - std::map textures; + std::list textures; xmlpp::Element *texturesNode; + // Prevent shallow copy + Level(const Level &o); + Level& operator=(const Level &o); + public: Level(xmlpp::Element *levelNode); + virtual ~Level(); - const std::map& getRooms() const {return rooms;} + const std::list& getRooms() const {return rooms;} - Room* getRoom(const Glib::ustring &id); - const 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); + void removeRoom(Room *room); - const std::map& getGates() const {return gates;} + const std::list& getGates() const {return gates;} - Gate* getGate(const Glib::ustring &id); - const 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); + void removeGate(Gate *gate); - const std::map& getTextures() const {return textures;} + const std::list& getTextures() const {return textures;} - Texture* getTexture(const Glib::ustring &id); - const 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); + void removeTexture(Texture *tex); }; } -- cgit v1.2.3