- allow for left button click in minimap and move mouse will move the camera

This commit is contained in:
Mark Vejvoda 2012-07-13 02:03:15 +00:00
parent 8089848857
commit 1de23b6f1a

View File

@ -2531,6 +2531,25 @@ void Game::mouseMove(int x, int y, const MouseState *ms) {
//if(Window::isKeyDown() == false)
if(!camLeftButtonDown && !camRightButtonDown && !camUpButtonDown && !camDownButtonDown)
{
if(ms->get(mbLeft) && metrics.isInMinimap(x, y)) {
int xm= x - metrics.getMinimapX();
int ym= y - metrics.getMinimapY();
Map *map= world.getMap();
int xCell= static_cast<int>(xm * (static_cast<float>(map->getW()) / metrics.getMinimapW()));
int yCell= static_cast<int>(map->getH() - ym * (static_cast<float>(map->getH()) / metrics.getMinimapH()));
if(map->isInside(xCell, yCell) && map->isInsideSurface(map->toSurfCoords(Vec2i(xCell,yCell)))) {
if(gui.isSelectingPos()){
gui.mouseDownLeftGraphics(xCell, yCell, true);
}
else
{
gameCamera.setPos(Vec2f(static_cast<float>(xCell), static_cast<float>(yCell)));
}
}
}
else {
bool mouseMoveScrollsWorld = Config::getInstance().getBool("MouseMoveScrollsWorld","true");
if(mouseMoveScrollsWorld == true) {
if (y < 10) {
@ -2554,6 +2573,7 @@ void Game::mouseMove(int x, int y, const MouseState *ms) {
}
}
}
}
if(switchTeamConfirmMessageBox.getEnabled() == true) {
switchTeamConfirmMessageBox.mouseMove(x,y);