summaryrefslogtreecommitdiffstats
path: root/src/Data/Gate.h
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2008-04-13 03:59:01 +0200
committerneoraider <devnull@localhost>2008-04-13 03:59:01 +0200
commit184c6305a677d968e60eb6cba9b29dd840cdce3c (patch)
tree9e0eaab4cf21c1e9717e29a79a9010678eccfc0b /src/Data/Gate.h
parent7fa8e4b4faf6dca308607977d2c2aaa5428ca60d (diff)
downloadzoomedit-184c6305a677d968e60eb6cba9b29dd840cdce3c.tar
zoomedit-184c6305a677d968e60eb6cba9b29dd840cdce3c.zip
zoomedit:
* New data interfaces, yay! Levels should now be completely editable * Fixed some -Wextra warnings
Diffstat (limited to 'src/Data/Gate.h')
-rw-r--r--src/Data/Gate.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/Data/Gate.h b/src/Data/Gate.h
index b1cde71..a6fb958 100644
--- a/src/Data/Gate.h
+++ b/src/Data/Gate.h
@@ -20,27 +20,37 @@
#ifndef ZOOMEDIT_DATA_GATE_H_
#define ZOOMEDIT_DATA_GATE_H_
-#include "Triangle.h"
#include <list>
+#include <libxml++/nodes/element.h>
namespace ZoomEdit {
namespace Data {
+class Triangle;
+
class Gate {
private:
- std::list<Triangle> triangles;
+ std::list<Triangle*> triangles;
xmlpp::Element *gateNode;
Glib::ustring id;
Glib::ustring room1, room2;
+ // Prevent shallow copy
+ Gate(const Gate &o);
+ Gate& operator=(const Gate &o);
+
public:
Gate(xmlpp::Element *node);
+ virtual ~Gate();
- const std::list<Triangle>& getTriangles() {
+ const std::list<Triangle*>& getTriangles() {
return triangles;
}
+ Triangle* addTriangle();
+ void removeTriangle(Triangle *t);
+
const Glib::ustring& getId() const {
return id;
}