// Update is called once per frame void Update() { if (!boss_r1.enabled) { health = 300.0f; transform.rotation = bossOriginalRotation; return; } Vector3 relativePos = Soldier.transform.position - Boss.transform.position; Quaternion rotation = Quaternion.LookRotation(relativePos, Vector3.up); if (frame % 20 == 0) { Boss.transform.rotation = rotation; } if (frame % 10 == 0) { weapon.Shoot(); } frame += 1; if (Vector3.Angle(transform.up, Vector3.up) > 60.0f) { transform.up = Vector3.up; } }
private IEnumerator AimAndShoot() { yield return(new WaitForSeconds(timeToShoot)); while (true) { gun.Shoot(); yield return(new WaitForSeconds(timeBetweenShots)); } }