// 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(); } } }
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; }