示例#1
0
    // 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;
        }
    }
示例#2
0
    private IEnumerator AimAndShoot()
    {
        yield return(new WaitForSeconds(timeToShoot));

        while (true)
        {
            gun.Shoot();
            yield return(new WaitForSeconds(timeBetweenShots));
        }
    }