Quitadas todas las variables globales y transformadas en punteros
This commit is contained in:
@@ -27,8 +27,10 @@ bool checkCollision(Circle &a, Circle &b)
|
||||
}
|
||||
|
||||
// Constructor
|
||||
GameDirector::GameDirector()
|
||||
GameDirector::GameDirector(SDL_Renderer *gRenderer)
|
||||
{
|
||||
this->gRenderer = gRenderer;
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
@@ -50,6 +52,34 @@ GameDirector::~GameDirector()
|
||||
// Libera el mando
|
||||
SDL_JoystickClose(gGameController);
|
||||
gGameController = NULL;
|
||||
|
||||
// Libera texturas
|
||||
gGameBackgroundTexture->free();
|
||||
gTitleBackgroundTexture->free();
|
||||
gWhiteFontTexture->free();
|
||||
gBlackFontTexture->free();
|
||||
gMiscTexture->free();
|
||||
|
||||
// Libera objetos
|
||||
delete player;
|
||||
delete menuPause;
|
||||
delete menuTitle;
|
||||
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
if (balloon[i])
|
||||
{
|
||||
delete balloon[i];
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < mMaxBullets; i++)
|
||||
{
|
||||
if (bullet[i])
|
||||
{
|
||||
delete bullet[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Iniciador
|
||||
@@ -83,6 +113,41 @@ void GameDirector::init()
|
||||
printf("Failed to load bullet sound effect! SDL_mixer Error: %s\n", Mix_GetError());
|
||||
}
|
||||
|
||||
gGameBackgroundTexture = new LTexture(gRenderer);
|
||||
// Carga los gráficos del fondo del juego
|
||||
if (!gGameBackgroundTexture->loadFromFile("media/gfx/background.png"))
|
||||
{
|
||||
printf("Failed to load game background texture!\n");
|
||||
}
|
||||
|
||||
gTitleBackgroundTexture = new LTexture(gRenderer);
|
||||
// Carga los gráficos del fondo de la pantalla de titulo
|
||||
if (!gTitleBackgroundTexture->loadFromFile("media/gfx/title.png"))
|
||||
{
|
||||
printf("Failed to load title texture!\n");
|
||||
}
|
||||
|
||||
gMiscTexture = new LTexture(gRenderer);
|
||||
// Carga varios gráficos para varios propósitos
|
||||
if (!gMiscTexture->loadFromFile("media/gfx/misc.png"))
|
||||
{
|
||||
printf("Failed to load misc texture!\n");
|
||||
}
|
||||
|
||||
gWhiteFontTexture = new LTexture(gRenderer);
|
||||
// Carga los gráficos para el texto blanco
|
||||
if (!gWhiteFontTexture->loadFromFile("media/gfx/white_font.png"))
|
||||
{
|
||||
printf("Failed to load white font texture!\n");
|
||||
}
|
||||
|
||||
gBlackFontTexture = new LTexture(gRenderer);
|
||||
// Carga los gráficos para el texto negro
|
||||
if (!gBlackFontTexture->loadFromFile("media/gfx/black_font.png"))
|
||||
{
|
||||
printf("Failed to load black font texture!\n");
|
||||
}
|
||||
|
||||
// Comprueba los mandos
|
||||
if (SDL_NumJoysticks() < 1)
|
||||
{
|
||||
@@ -115,7 +180,8 @@ void GameDirector::init()
|
||||
mGetReady = true;
|
||||
|
||||
// Objeto jugador
|
||||
player.init();
|
||||
player = new Player(gRenderer);
|
||||
player->init();
|
||||
|
||||
// Establece a cero todos los valores del vector de objetos globo
|
||||
resetBalloons();
|
||||
@@ -139,26 +205,28 @@ void GameDirector::init()
|
||||
#endif
|
||||
|
||||
// Los fondos
|
||||
gameBackground.init(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - (0 * BLOCK), &gGameBackgroundTexture);
|
||||
titleBackground.init(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, &gTitleBackgroundTexture);
|
||||
gameBackground.init(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - (0 * BLOCK), gGameBackgroundTexture);
|
||||
titleBackground.init(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, gTitleBackgroundTexture);
|
||||
|
||||
// Objetos texto, uno de cada color
|
||||
whiteText.init(&gWhiteFontTexture);
|
||||
blackText.init(&gBlackFontTexture);
|
||||
whiteText.init(gWhiteFontTexture);
|
||||
blackText.init(gBlackFontTexture);
|
||||
|
||||
// Inicializa el objeto con el menu del titulo
|
||||
menuTitle.init(0, 16 * BLOCK, MENU_SELECTOR_WHITE, MENU_BACKGROUND_TRANSPARENT);
|
||||
menuTitle.addItem("START");
|
||||
menuTitle.addItem("EXIT");
|
||||
menuTitle.setBackgroundColor(0, 0, 0, 255);
|
||||
menuTitle.centerMenuOnScreen();
|
||||
menuTitle = new Menu(gRenderer);
|
||||
menuTitle->init(0, 16 * BLOCK, MENU_SELECTOR_WHITE, MENU_BACKGROUND_TRANSPARENT);
|
||||
menuTitle->addItem("START");
|
||||
menuTitle->addItem("EXIT");
|
||||
menuTitle->setBackgroundColor(0, 0, 0, 255);
|
||||
menuTitle->centerMenuOnScreen();
|
||||
|
||||
// Inicializa el objeto con el menu de pausa
|
||||
menuPause.init(0, 12 * BLOCK, MENU_SELECTOR_WHITE, MENU_BACKGROUND_SOLID);
|
||||
menuPause.addItem("CONTINUE");
|
||||
menuPause.addItem("EXIT TO TITLE");
|
||||
menuPause.setBackgroundColor(0x73, 0x27, 0x5c, 255);
|
||||
menuPause.centerMenuOnScreen();
|
||||
menuPause = new Menu(gRenderer);
|
||||
menuPause->init(0, 12 * BLOCK, MENU_SELECTOR_WHITE, MENU_BACKGROUND_SOLID);
|
||||
menuPause->addItem("CONTINUE");
|
||||
menuPause->addItem("EXIT TO TITLE");
|
||||
menuPause->setBackgroundColor(0x73, 0x27, 0x5c, 255);
|
||||
menuPause->centerMenuOnScreen();
|
||||
}
|
||||
|
||||
// Hace una pausa de milisegundos
|
||||
@@ -242,9 +310,9 @@ void GameDirector::moveBalloons()
|
||||
{
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
if (balloon[i].isActive())
|
||||
if (balloon[i]->isActive())
|
||||
{
|
||||
balloon[i].move();
|
||||
balloon[i]->move();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -254,9 +322,9 @@ void GameDirector::renderBalloons()
|
||||
{
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
if (balloon[i].isActive())
|
||||
if (balloon[i]->isActive())
|
||||
{
|
||||
balloon[i].render();
|
||||
balloon[i]->render();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -268,7 +336,7 @@ Uint8 GameDirector::getBallonFreeIndex()
|
||||
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
if (balloon[i].isActive() == false)
|
||||
if (balloon[i]->isActive() == false)
|
||||
{
|
||||
index = i;
|
||||
break;
|
||||
@@ -282,7 +350,8 @@ Uint8 GameDirector::getBallonFreeIndex()
|
||||
Uint8 GameDirector::createNewBalloon(int x, int y, Uint8 kind, float velx, Uint16 creationtimer)
|
||||
{
|
||||
Uint8 index = getBallonFreeIndex();
|
||||
balloon[index].init(x, y, kind, velx, creationtimer);
|
||||
balloon[index] = new Balloon(gRenderer);
|
||||
balloon[index]->init(x, y, kind, velx, creationtimer);
|
||||
return index;
|
||||
}
|
||||
|
||||
@@ -291,38 +360,38 @@ void GameDirector::resetBalloons()
|
||||
{
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
balloon[i].erase();
|
||||
balloon[i]->erase();
|
||||
}
|
||||
}
|
||||
|
||||
// Explosiona un globo. Lo destruye y crea otros dos si es el caso
|
||||
void GameDirector::popBalloon(Uint8 index)
|
||||
{
|
||||
if (balloon[index].isActive())
|
||||
if (balloon[index]->isActive())
|
||||
{
|
||||
Uint8 kind = balloon[index].getKind();
|
||||
Uint8 kind = balloon[index]->getKind();
|
||||
Uint8 freeIndex = 0;
|
||||
switch (kind)
|
||||
{
|
||||
// Si es del tipo más pequeño, simplemente elimina el globo
|
||||
case BALLOON_1:
|
||||
balloon[index].erase();
|
||||
balloon[index]->erase();
|
||||
break;
|
||||
|
||||
// En cualquier otro caso, crea dos globos de un tipo inferior
|
||||
default:
|
||||
freeIndex = getBallonFreeIndex();
|
||||
balloon[freeIndex].init(0, balloon[index].getPosY(), balloon[index].getKind() - 1, BALLON_VELX_NEGATIVE, 0);
|
||||
balloon[freeIndex].allignTo(balloon[index].getPosX() + (balloon[index].getWidth() / 2));
|
||||
balloon[freeIndex].setVelY(-2.5);
|
||||
balloon[freeIndex]->init(0, balloon[index]->getPosY(), balloon[index]->getKind() - 1, BALLON_VELX_NEGATIVE, 0);
|
||||
balloon[freeIndex]->allignTo(balloon[index]->getPosX() + (balloon[index]->getWidth() / 2));
|
||||
balloon[freeIndex]->setVelY(-2.5);
|
||||
|
||||
freeIndex = getBallonFreeIndex();
|
||||
balloon[freeIndex].init(0, balloon[index].getPosY(), balloon[index].getKind() - 1, BALLON_VELX_POSITIVE, 0);
|
||||
balloon[freeIndex].allignTo(balloon[index].getPosX() + (balloon[index].getWidth() / 2));
|
||||
balloon[freeIndex].setVelY(-2.5);
|
||||
balloon[freeIndex]->init(0, balloon[index]->getPosY(), balloon[index]->getKind() - 1, BALLON_VELX_POSITIVE, 0);
|
||||
balloon[freeIndex]->allignTo(balloon[index]->getPosX() + (balloon[index]->getWidth() / 2));
|
||||
balloon[freeIndex]->setVelY(-2.5);
|
||||
|
||||
// Elimina el globo
|
||||
balloon[index].erase();
|
||||
balloon[index]->erase();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -333,9 +402,9 @@ void GameDirector::stopAllBalloons()
|
||||
{
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
if (balloon[i].isActive())
|
||||
if (balloon[i]->isActive())
|
||||
{
|
||||
balloon[i].setStop(true);
|
||||
balloon[i]->setStop(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -345,9 +414,9 @@ void GameDirector::startAllBalloons()
|
||||
{
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
if (balloon[i].isActive())
|
||||
if (balloon[i]->isActive())
|
||||
{
|
||||
balloon[i].setStop(false);
|
||||
balloon[i]->setStop(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -358,7 +427,7 @@ Uint8 GameDirector::countBalloons()
|
||||
Uint8 num = 0;
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
if (balloon[i].isActive())
|
||||
if (balloon[i]->isActive())
|
||||
{
|
||||
++num;
|
||||
}
|
||||
@@ -372,9 +441,9 @@ bool GameDirector::checkPlayerBallonCollision()
|
||||
bool result = false;
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
if (balloon[i].isActive())
|
||||
if (balloon[i]->isActive())
|
||||
{
|
||||
if (checkCollision(player.getCollider(), balloon[i].getCollider()))
|
||||
if (checkCollision(player->getCollider(), balloon[i]->getCollider()))
|
||||
{
|
||||
result = true;
|
||||
break;
|
||||
@@ -391,16 +460,16 @@ void GameDirector::processBulletBallonCollision()
|
||||
{
|
||||
for (Uint8 j = 0; j < mMaxBullets; j++)
|
||||
{
|
||||
if (balloon[i].isActive() && !(balloon[i].isInvulnerable()) && bullet[j].isActive())
|
||||
if (balloon[i]->isActive() && !(balloon[i]->isInvulnerable()) && bullet[j]->isActive())
|
||||
{
|
||||
if (checkCollision(balloon[i].getCollider(), bullet[j].getCollider()))
|
||||
if (checkCollision(balloon[i]->getCollider(), bullet[j]->getCollider()))
|
||||
{
|
||||
player.addScore(balloon[i].getScore());
|
||||
setScore(player.getScore());
|
||||
player->addScore(balloon[i]->getScore());
|
||||
setScore(player->getScore());
|
||||
updateHiScore();
|
||||
popBalloon(i);
|
||||
Mix_PlayChannel(-1, gPopBalloonFX, 0);
|
||||
bullet[j].erase();
|
||||
bullet[j]->erase();
|
||||
calculateMenaceLevel();
|
||||
break;
|
||||
}
|
||||
@@ -414,9 +483,9 @@ void GameDirector::moveBullets()
|
||||
{
|
||||
for (Uint8 i = 0; i < mMaxBullets; i++)
|
||||
{
|
||||
if (bullet[i].isActive())
|
||||
if (bullet[i]->isActive())
|
||||
{
|
||||
bullet[i].move();
|
||||
bullet[i]->move();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -426,9 +495,9 @@ void GameDirector::renderBullets()
|
||||
{
|
||||
for (Uint8 i = 0; i < mMaxBullets; i++)
|
||||
{
|
||||
if (bullet[i].isActive())
|
||||
if (bullet[i]->isActive())
|
||||
{
|
||||
bullet[i].render();
|
||||
bullet[i]->render();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -440,7 +509,7 @@ Uint8 GameDirector::getBulletFreeIndex()
|
||||
|
||||
for (int i = 0; i < mMaxBullets; i++)
|
||||
{
|
||||
if (bullet[i].isActive() == false)
|
||||
if (bullet[i]->isActive() == false)
|
||||
{
|
||||
index = i;
|
||||
break;
|
||||
@@ -455,14 +524,16 @@ void GameDirector::resetBullets()
|
||||
{
|
||||
for (Uint8 i = 0; i < mMaxBullets; i++)
|
||||
{
|
||||
bullet[i].init(0, 0, NO_KIND);
|
||||
bullet[i]->init(0, 0, NO_KIND);
|
||||
}
|
||||
}
|
||||
|
||||
// Crea un objeto bala
|
||||
void GameDirector::createBullet(int x, int y, Uint8 kind)
|
||||
{
|
||||
bullet[getBulletFreeIndex()].init(x, y, kind);
|
||||
const int index = getBulletFreeIndex();
|
||||
bullet[index] = new Bullet(gRenderer);
|
||||
bullet[index]->init(x, y, kind);
|
||||
}
|
||||
|
||||
// Calcula y establece el valor de amenaza en funcion de los globos activos
|
||||
@@ -471,7 +542,7 @@ void GameDirector::calculateMenaceLevel()
|
||||
mMenaceLevel = 0;
|
||||
for (Uint8 i = 0; i < mMaxBalloons; i++)
|
||||
{
|
||||
switch (balloon[i].getKind())
|
||||
switch (balloon[i]->getKind())
|
||||
{
|
||||
case BALLOON_1:
|
||||
mMenaceLevel += 1;
|
||||
@@ -514,7 +585,7 @@ void GameDirector::checkMenaceLevel()
|
||||
Uint8 index = 0;
|
||||
|
||||
// Obtiene el centro del jugador en el eje X
|
||||
int x = player.getPosX() + (player.getWidth() / 2);
|
||||
int x = player->getPosX() + (player->getWidth() / 2);
|
||||
|
||||
// Crea un globo sobre el jugador en dirección hacia el centro
|
||||
if (x < (PLAY_AREA_WIDTH / 2))
|
||||
@@ -525,7 +596,7 @@ void GameDirector::checkMenaceLevel()
|
||||
{
|
||||
index = createNewBalloon(0, PLAY_AREA_TOP + BLOCK - 37, BALLOON_4, BALLON_VELX_NEGATIVE, 400);
|
||||
}
|
||||
balloon[index].allignTo(x);
|
||||
balloon[index]->allignTo(x);
|
||||
|
||||
// Recalcula el nivel de amenaza con el nuevo globo
|
||||
calculateMenaceLevel();
|
||||
@@ -541,26 +612,26 @@ void GameDirector::checkGameInput()
|
||||
// Si está pulsada la tecla izquierda o el mando hacia la izquierda
|
||||
if ((keystates[SDL_SCANCODE_LEFT] != 0) || (SDL_JoystickGetAxis(gGameController, 0) < -JOYSTICK_DEAD_ZONE))
|
||||
{
|
||||
player.checkInput(INPUT_LEFT);
|
||||
player->checkInput(INPUT_LEFT);
|
||||
}
|
||||
// Si está pulsada la tecla derecha o el mando hacia la derecha
|
||||
else if ((keystates[SDL_SCANCODE_RIGHT] != 0) || (SDL_JoystickGetAxis(gGameController, 0) > JOYSTICK_DEAD_ZONE))
|
||||
{
|
||||
player.checkInput(INPUT_RIGHT);
|
||||
player->checkInput(INPUT_RIGHT);
|
||||
}
|
||||
// Ninguna de las dos direcciones pulsadas
|
||||
else
|
||||
{
|
||||
player.checkInput(NO_INPUT);
|
||||
player->checkInput(NO_INPUT);
|
||||
}
|
||||
|
||||
// Comprobamos la tecla o el botón de disparo central
|
||||
if ((SDL_JoystickGetButton(gGameController, BUTTON_X)) || (keystates[SDL_SCANCODE_W] != 0))
|
||||
{
|
||||
if (player.canFire())
|
||||
if (player->canFire())
|
||||
{
|
||||
createBullet(player.getPosX() + (player.getWidth() / 2) - 4, player.getPosY(), BULLET_UP);
|
||||
player.setFireCooldown(10);
|
||||
createBullet(player->getPosX() + (player->getWidth() / 2) - 4, player->getPosY(), BULLET_UP);
|
||||
player->setFireCooldown(10);
|
||||
|
||||
// Reproduce el sonido de disparo
|
||||
Mix_PlayChannel(-1, gBulletFX, 0);
|
||||
@@ -570,10 +641,10 @@ void GameDirector::checkGameInput()
|
||||
// Comprobamos la tecla o el botón de disparo izquierdo
|
||||
if ((SDL_JoystickGetButton(gGameController, BUTTON_Y)) || (keystates[SDL_SCANCODE_Q] != 0))
|
||||
{
|
||||
if (player.canFire())
|
||||
if (player->canFire())
|
||||
{
|
||||
createBullet(player.getPosX() + (player.getWidth() / 2) - 4, player.getPosY(), BULLET_LEFT);
|
||||
player.setFireCooldown(10);
|
||||
createBullet(player->getPosX() + (player->getWidth() / 2) - 4, player->getPosY(), BULLET_LEFT);
|
||||
player->setFireCooldown(10);
|
||||
|
||||
// Reproduce el sonido de disparo
|
||||
Mix_PlayChannel(-1, gBulletFX, 0);
|
||||
@@ -583,10 +654,10 @@ void GameDirector::checkGameInput()
|
||||
// Comprobamos la tecla o el botón de disparo derecho
|
||||
if ((SDL_JoystickGetButton(gGameController, BUTTON_A)) || (keystates[SDL_SCANCODE_E] != 0))
|
||||
{
|
||||
if (player.canFire())
|
||||
if (player->canFire())
|
||||
{
|
||||
createBullet(player.getPosX() + (player.getWidth() / 2) - 4, player.getPosY(), BULLET_RIGHT);
|
||||
player.setFireCooldown(10);
|
||||
createBullet(player->getPosX() + (player->getWidth() / 2) - 4, player->getPosY(), BULLET_RIGHT);
|
||||
player->setFireCooldown(10);
|
||||
|
||||
// Reproduce el sonido de disparo
|
||||
Mix_PlayChannel(-1, gBulletFX, 0);
|
||||
@@ -795,7 +866,7 @@ void GameDirector::renderGetReady()
|
||||
if (mGetReady)
|
||||
{
|
||||
Sprite sprite;
|
||||
sprite.setTexture(gMiscTexture);
|
||||
sprite.setTexture(*gMiscTexture);
|
||||
sprite.setWidth(53);
|
||||
sprite.setHeight(10);
|
||||
sprite.setPosX((PLAY_AREA_WIDTH / 2) - (sprite.getWidth() / 2));
|
||||
@@ -837,27 +908,27 @@ void GameDirector::runTitle()
|
||||
|
||||
// Dibuja los objetos
|
||||
titleBackground.render();
|
||||
menuTitle.render(whiteText);
|
||||
menuTitle->render(whiteText);
|
||||
|
||||
// Actualiza la pantalla
|
||||
SDL_RenderPresent(gRenderer);
|
||||
|
||||
// Comprueba las entradas para el menu
|
||||
checkMenuInput(&menuTitle);
|
||||
checkMenuInput(menuTitle);
|
||||
|
||||
// Comprueba si se ha seleccionado algún item del menú
|
||||
switch (menuTitle.getItemSelected())
|
||||
switch (menuTitle->getItemSelected())
|
||||
{
|
||||
case 0:
|
||||
setGameStatus(GAME_STATE_PLAYING);
|
||||
menuTitle.resetMenu();
|
||||
menuTitle->resetMenu();
|
||||
renderTransition(1);
|
||||
Mix_HaltMusic();
|
||||
SDL_Delay(1200);
|
||||
break;
|
||||
case 1:
|
||||
setGameStatus(GAME_STATE_QUIT);
|
||||
menuTitle.resetMenu();
|
||||
menuTitle->resetMenu();
|
||||
renderTransition(1);
|
||||
Mix_HaltMusic();
|
||||
break;
|
||||
@@ -938,7 +1009,7 @@ void GameDirector::runGame()
|
||||
}
|
||||
|
||||
// Actualiza el jugador
|
||||
player.update();
|
||||
player->update();
|
||||
|
||||
// Mueve los globos
|
||||
moveBalloons();
|
||||
@@ -979,9 +1050,9 @@ void GameDirector::runGame()
|
||||
}
|
||||
#endif
|
||||
// whiteText.write(0, 0, std::to_string(mMenaceLevelThreshold));
|
||||
// whiteText.write(0, BLOCK, std::to_string(player.getPosX() + player.getWidth()));
|
||||
// whiteText.write(0, BLOCK, std::to_string(player->getPosX() + player->getWidth()));
|
||||
renderBullets();
|
||||
player.render();
|
||||
player->render();
|
||||
renderScoreBoard(whiteText);
|
||||
renderGetReady();
|
||||
|
||||
@@ -1006,26 +1077,26 @@ void GameDirector::runPausedGame()
|
||||
gameBackground.render();
|
||||
renderBalloons();
|
||||
renderBullets();
|
||||
player.render();
|
||||
player->render();
|
||||
renderScoreBoard(whiteText);
|
||||
menuPause.render(whiteText);
|
||||
menuPause->render(whiteText);
|
||||
|
||||
// Limpia la pantalla
|
||||
SDL_RenderPresent(gRenderer);
|
||||
|
||||
// Comprueba las entradas para el menu
|
||||
checkMenuInput(&menuPause);
|
||||
checkMenuInput(menuPause);
|
||||
|
||||
// Comprueba si se ha seleccionado algún item del menú
|
||||
switch (menuPause.getItemSelected())
|
||||
switch (menuPause->getItemSelected())
|
||||
{
|
||||
case 0:
|
||||
setGameStatus(GAME_STATE_PLAYING);
|
||||
menuPause.resetMenu();
|
||||
menuPause->resetMenu();
|
||||
break;
|
||||
case 1:
|
||||
setGameStatus(GAME_STATE_TITLE);
|
||||
menuPause.resetMenu();
|
||||
menuPause->resetMenu();
|
||||
renderTransition(1);
|
||||
init();
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user