bool StageManager::changeRoom(int roomNum, cocos2d::Point pos) { _ASSERT(m_GameScene != nullptr); auto layer = m_GameScene->getGameLayer(); auto ui = m_GameScene->getUILayer(); _ASSERT(layer != nullptr && ui != nullptr); layer->changeRoom(roomNum, pos); cocos2d::log("Current Room %d", roomNum); static_cast<GameSceneUILayer*>( ui )->setMapUI(m_CurrentStageNum, roomNum); return true; }
void WidgetChat::on_listViewChatRooms_pressed(QModelIndex index) { switch (QApplication::mouseButtons ()) { case Qt::LeftButton: emit changeRoom(index.row()); break; case Qt::RightButton: break; default: break; } }
// @author Andre Allan Ponce // we only go to this if we actually move void Game::movePlayer(int move, Location* currRoom){ int xOld = player->getRoomLocX(); int yOld = player->getRoomLocY(); cout << "X:" << currX << "," << currY << "\n"; cout << "xr:" << xOld << "," << yOld << "\n"; //int xNew, yNew; switch(move){ case MOVE_LEFT:{ player->moveLeft(); break; } case MOVE_UP:{ player->moveUp(); break; } case MOVE_RIGHT:{ player->moveRight(); break; } case MOVE_DOWN:{ player->moveDown(); break; } } if(currRoom->movePlayer(xOld,yOld,PLAYER_SYMBOL,player->getRoomLocX(),player->getRoomLocY())){ int xNewPlay = player->getRoomLocX(); int yNewPlay = player->getRoomLocY(); if(isLocAtEdge(xNewPlay,yNewPlay,currRoom) > 0){ currRoom->resetSpace(xNewPlay,yNewPlay,currRoom->EMPTY_SPACE); changeRoom(move); player->setBoardLocX(currX); player->setBoardLocY(currY); placePlayerInNewRoom(move, player, PLAYER_SYMBOL); } } else{ player->setRoomLocX(xOld); player->setRoomLocY(yOld); } }