Beispiel #1
0
    public IEnumerator ConsumeEnemy()  ////NO POLISHEADO; Faltan animaciones y su relación
    {
        thisEnemyRB.velocity = Vector2.zero;
        this_EnemyControl_MovementController.enabled = false;
        consumePart.Play(); //Partículas de consumir PLACEHOLDER

        ///Sonido
        MusicManager.Instance.PlaySound(AppSounds.PLAYER_CONSUME); ///// PLACEHOLDER

        if (this_EnemyHealthScript.enemyHealth >= (float)this_EnemyHealthScript.defaultEnemyHealth / 2)
        {
            //Si la vida del enemigo está por encima de la mitad, al tiempo de consumir se le añade un máximo del doble del tiempo base en función de la vida actual del enemigo
            calculatedTimeToConsume = timeToConsume + (timeToConsume * ((float)this_EnemyHealthScript.enemyHealth / this_EnemyHealthScript.defaultEnemyHealth));
        }

        else
        {
            //Si está por debajo de la mitad, se aplica el tiempo normal.
            calculatedTimeToConsume = timeToConsume;
        }

        yield return(new WaitForSeconds(calculatedTimeToConsume));   //Se aplica el tiempo calculado

        if (this_EnemyActiveAbility != null)
        {
            this_EnemyActiveAbility.SaveAbility();
        }

        consumePart.Stop(); //Partículas de consumir PLACEHOLDER
        HealthHeartsVisual.healthHeartsSystemStatic.Heal(healthHealedOnCosuming);
        hasBeenConsumed = true;
        CheckEnemyDeath();
    }