fix: la inmunitat del jugador no funcionava
This commit is contained in:
@@ -281,11 +281,7 @@ void Player::update()
|
||||
shiftColliders();
|
||||
updateCooldown();
|
||||
updatePowerUpCounter();
|
||||
updateInvulnerableCounter();
|
||||
if (invulnerable)
|
||||
{
|
||||
invulnerableCounter % 8 > 3 ? playerSprite->getTexture()->setPalette(coffees) : playerSprite->getTexture()->setPalette(3);
|
||||
}
|
||||
updateInvulnerable();
|
||||
}
|
||||
|
||||
// Obtiene la puntuación del jugador
|
||||
@@ -360,10 +356,11 @@ bool Player::isInvulnerable()
|
||||
return invulnerable;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
// Establece el valor del estado
|
||||
void Player::setInvulnerable(bool value)
|
||||
{
|
||||
invulnerable = value;
|
||||
invulnerableCounter = invulnerable ? PLAYER_INVULNERABLE_COUNTER : 0;
|
||||
}
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
@@ -378,20 +375,20 @@ void Player::setInvulnerableCounter(int value)
|
||||
invulnerableCounter = value;
|
||||
}
|
||||
|
||||
// Actualiza el valor de la variable
|
||||
void Player::updateInvulnerableCounter()
|
||||
// Monitoriza el estado
|
||||
void Player::updateInvulnerable()
|
||||
{
|
||||
if (invulnerable)
|
||||
{
|
||||
if (invulnerableCounter > 0)
|
||||
{
|
||||
invulnerableCounter--;
|
||||
invulnerableCounter % 8 > 3 ? playerSprite->getTexture()->setPalette(coffees) : playerSprite->getTexture()->setPalette(3);
|
||||
}
|
||||
else
|
||||
{
|
||||
invulnerable = false;
|
||||
invulnerableCounter = PLAYER_INVULNERABLE_COUNTER;
|
||||
playerSprite->getTexture()->setPalette(0);
|
||||
setInvulnerable(false);
|
||||
playerSprite->getTexture()->setPalette(coffees);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -448,8 +445,8 @@ void Player::giveExtraHit()
|
||||
if (coffees < 2)
|
||||
{
|
||||
coffees++;
|
||||
playerSprite->getTexture()->setPalette(coffees);
|
||||
}
|
||||
playerSprite->getTexture()->setPalette(coffees);
|
||||
}
|
||||
|
||||
// Quita el toque extra al jugador
|
||||
@@ -458,16 +455,11 @@ void Player::removeExtraHit()
|
||||
if (coffees > 0)
|
||||
{
|
||||
coffees--;
|
||||
setInvulnerable(true);
|
||||
playerSprite->getTexture()->setPalette(coffees);
|
||||
}
|
||||
|
||||
if (coffees == 0)
|
||||
{
|
||||
extraHit = false;
|
||||
}
|
||||
|
||||
invulnerable = true;
|
||||
invulnerableCounter = PLAYER_INVULNERABLE_COUNTER;
|
||||
playerSprite->getTexture()->setPalette(coffees);
|
||||
extraHit = coffees == 0 ? false : true;
|
||||
}
|
||||
|
||||
// Habilita la entrada de ordenes
|
||||
|
||||
Reference in New Issue
Block a user