#include "sceneholder.h" #include "constants.h" #include "pixmapitem.h" #include "block.h" #include "actor.h" #include "bonuspoint.h" #include "point.h" #include "util.h" SceneHolder::SceneHolder(QWidget* parent): QWidget(parent) { m_scene = new QGraphicsScene(0, 0, Constants::map_size_pixel.width, Constants::map_size_pixel.height, this); m_scene->setBackgroundBrush(Qt::black); visualMap.resize(Constants::map_size.width); for (int i=0; iaddItem(actor); actor->setPos(mapPositionToCoord(x, y)); } Actor::Movement direction = Util::transmissionMovementToActor(cur & Transmission::direction_mask); //actor->move(direction, mapPositionToCoord(x, y)); } else Q_ASSERT(false); if (item != NULL) { m_scene->addItem(item); item->setPos(mapPositionToCoord(x, y)); PixmapItem* oldItem = visualMap[x][y]; visualMap[x][y] = item; if (oldItem != NULL) { m_scene->removeItem(item); delete oldItem; } } } } } QPoint SceneHolder::mapPositionToCoord(unsigned int x, unsigned int y) { return QPoint(x * Constants::field_size.width, y * Constants::field_size.height); } QPoint SceneHolder::CoordToMapPosition(unsigned int x, unsigned int y) { return QPoint(x / Constants::field_size.width, y / Constants::field_size.height); }