Пример #1
0
    // Update is called once per frame
    void Update()
    {
        if (hit && !bossAttack.screaming)
        {
            health--;
            hit = false;
        }
        FillHealthBar();
        dead = (health <= 0);

        if (health == totalHealth / 2 && !bossAttack.phaseChanged)
        {
            bossAttack.phaseChanged = true;
        }

        if (!dead)
        {
            enemyAnimCtrl.SetDead(false);
            enemyHealthUIObj.SetActive(true);
            SetHealthUIPos();

            if (wipStunRemainDur <= 0)
            {
                wipStunRemainDur = wipStunDur;
                stunned          = false;
                wipped           = false;
            }
            else if (stunned)
            {
                //Debug.Log("Wipped for: " + wipStunRemainDur);
                wipStunRemainDur -= Time.deltaTime;
            }

            else if (bossAttack.screaming && wipped)
            {
                bossAttack.wippedDuringScreamCount++;

                if (bossAttack.wippedDuringScreamCount >= numWipsToStun)
                {
                    stunned = true;
                }
            }
        }
        else
        {
            enemyHealthUIObj.SetActive(false);
            enemyAnimCtrl.SetDead(true);
        }
    }