Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2012-02-19 21:29:24 +0000
committerStijn Buys <ingar@osirion.org>2012-02-19 21:29:24 +0000
commit9e7fa49f168c4ae25d23e4858a895216e997d205 (patch)
tree330e927dd3d6a79559ad2800d1160c5c11e499b9 /src/mapwidget.cc
parent85500fcb7a8aae73da87af337e2984cc91425eb8 (diff)
Added a seperate class to hold entity properties.
Diffstat (limited to 'src/mapwidget.cc')
-rw-r--r--src/mapwidget.cc23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/mapwidget.cc b/src/mapwidget.cc
index 78c413d..d9ec735 100644
--- a/src/mapwidget.cc
+++ b/src/mapwidget.cc
@@ -101,12 +101,12 @@ void MapWidget::resizeChildren()
for (int i = 0; i < mapwidget_enties.size(); ++i) {
EntityWidget * entity = mapwidget_enties.at(i);
- int radius = (int) (entity->radius() * scale);
+ int radius = (int) (entity->properties()->radius() * scale);
if (radius < 6)
radius = 6;
- int x = width() / 2 - (int) (entity->location(1) * scale) - radius;
- int y = height() / 2 - (int)(entity->location(0) * scale) - radius;
+ int x = width() / 2 - (int) (entity->properties()->location()[1] * scale) - radius;
+ int y = height() / 2 - (int)(entity->properties()->location()[0] * scale) - radius;
entity->setGeometry(center_x + x, center_y + y, radius * 2 , radius * 2);
//qDebug() << "Moving entity to " << x << " " << y;
@@ -120,22 +120,23 @@ void MapWidget::deselect()
EntityWidget *entitywidget = mapwidget_enties.at(i);
entitywidget->set_selected(false);
}
- emit selected(0);
+ emit propertiesChanged(0);
}
void MapWidget::dragEntity(EntityWidget *entity, int x, int y)
{
const float scale = (float) (mapwidget_zoom * 256) / (float) width();
- int radius = (int) (entity->radius() / scale);
+ int radius = (int) (entity->properties()->radius() / scale);
if (radius < 6)
radius = 6;
- entity->set_location(
- entity->location(0) - (int) ((float) (y - radius) * scale),
- entity->location(1) - (int) ((float) (x - radius) * scale),
- entity->location(2)
+ entity->properties()->set_location(
+ entity->properties()->location()[0] - (int) ((float) (y - radius) * scale),
+ entity->properties()->location()[1] - (int) ((float) (x - radius) * scale),
+ entity->properties()->location()[2]
);
- emit selected(entity);
+
+ emit propertiesChanged(entity->properties());
resizeChildren();
}
void MapWidget::select(EntityWidget *entity)
@@ -148,7 +149,7 @@ void MapWidget::select(EntityWidget *entity)
entity->set_selected(true);
//qDebug() << "selected entity " << entity->name();
- emit selected(entity);
+ emit propertiesChanged(entity->properties());
} else {