summaryrefslogtreecommitdiffstats
path: root/src/View/TopView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/View/TopView.cpp')
-rw-r--r--src/View/TopView.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/View/TopView.cpp b/src/View/TopView.cpp
index 12bbe4a..7e649cc 100644
--- a/src/View/TopView.cpp
+++ b/src/View/TopView.cpp
@@ -18,11 +18,14 @@
*/
#include "TopView.h"
+
+#include <Instance.h>
#include <Data/Level.h>
#include <Data/Room.h>
#include <Data/Triangle.h>
#include <Gui/RenderArea.h>
#include <Math/Triangle2D.h>
+
#include <GL/gl.h>
#include <cmath>
#include <set>
@@ -218,13 +221,13 @@ void TopView::render() {
drawGrid();
- if(!level)
+ if(!instance->getLevel())
return;
- const std::list<Data::Room*> &rooms = level->getRooms();
+ const std::list<Data::Room*> &rooms = instance->getLevel()->getRooms();
for(std::list<Data::Room*>::const_iterator room = rooms.begin(); room != rooms.end(); ++room)
- renderRoom(*room, *room == selectedRoom);
+ renderRoom(*room, *room == instance->getSelectedRoom());
}
void TopView::click(float x, float y, unsigned int button) {
@@ -233,9 +236,9 @@ void TopView::click(float x, float y, unsigned int button) {
vmml::vec2f v(xCenter + x/scale, yCenter + y/scale);
- selectedRoom = 0;
+ Data::Room *selectedRoom = 0;
- const std::list<Data::Room*>& rooms = level->getRooms();
+ const std::list<Data::Room*> &rooms = instance->getLevel()->getRooms();
for(std::list<Data::Room*>::const_iterator room = rooms.begin(); room != rooms.end(); ++room) {
const std::list<Data::Triangle*>& triangles = (*room)->getTriangles();
@@ -255,6 +258,7 @@ void TopView::click(float x, float y, unsigned int button) {
break;
}
+ instance->setSelectedRoom(selectedRoom);
signalUpdate().emit();
}