diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2010-01-09 03:18:25 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2010-01-09 03:18:25 +0100 |
commit | b4adc20ef08257124a01499436f2b8b447adcb33 (patch) | |
tree | 2d5440ccce94c464baf9869ceaf6b833b45ce51e /src/View/TopView.cpp | |
parent | 2bd663e0db1f365595aa9f04a8423ca85b9a1063 (diff) | |
download | zoomedit-b4adc20ef08257124a01499436f2b8b447adcb33.tar zoomedit-b4adc20ef08257124a01499436f2b8b447adcb33.zip |
Use room list
Diffstat (limited to 'src/View/TopView.cpp')
-rw-r--r-- | src/View/TopView.cpp | 14 |
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(); } |