Пример #1
0
    // Update is called once per frame
    void Update()
    {
        transform.LookAt(PlayerController.instance.transform, Vector3.up);
        transform.rotation = Quaternion.Euler(0f, transform.rotation.eulerAngles.y, 0f);
        if (isMovingBoss)
        {
            if (!startBattle)
            {
                var distanceToPlayer = Vector3.Distance(transform.position, PlayerController.instance.transform.position);
                if (distanceToPlayer <= attackRange)
                {
                    startBattle  = true;
                    currentPhase = bossPhases.phase1;
                    checkState();
                }
                else
                {
                    transform.position = Vector3.MoveTowards(transform.position, PlayerController.instance.transform.position, moveSpeed * Time.deltaTime);
                }
            }
        }

        if (GameManager.instace.respawning)
        {
            lifeBar.SetActive(false);
            currentPhase = bossPhases.intro;
            anim.animationPhase(0); //intro
            gameEntrace.SetActive(true);
            bossActivator.SetActive(true);
            GameManager.instace.respawning = false;
            startBattle = false;
            gameObject.SetActive(false);
        }
        if (inerme)
        {
            anim.animationPhase(0); //idle
            vulnerableCounter -= Time.deltaTime;
            if (vulnerableCounter <= 0)
            {
                bh.invincible     = true;
                inerme            = false;
                vulnerableCounter = vulnerableTime;
                checkState();
            }
        }
    }
Пример #2
0
    private void Update()
    {
        //as of 3/7/21
        Atention();
        Stearing();
        //WanderingPoint();

        if (baseHealth <= 0)
        {
            OnDeath();
        }

        if (baseHealth <= 30)
        {
            mbossPhase = bossPhases.phase2;
            speed      = speed_phase2;
        }

        playerDistanceFromBoss = (transform.position - poi).magnitude;
    }