Esempio n. 1
0
    void Update()
    {
        if (target != null && target.name != "ai_waypoint" &&
            Vector3.Angle(transform.forward, target.transform.position - transform.position) < 30.0f)
        {
            weaponsController.FirePrimaryWeapon();
        }

        targetTimer += Time.deltaTime;
    }
    void Update()
    {
        if ((target == null || !target.activeInHierarchy) && Time.time > nextTargetAcquireTime)
        {
            AcquireNewTarget();
        }

        if (target != null && target.activeInHierarchy && (goToPoints == null || goToPoints.Length == 0))
        {
            wc.FirePrimaryWeapon();
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (target != null && canFire)
        {
            wc.FirePrimaryWeapon();
        }

        if (Time.time > nextTargetAcquireTime)
        {
            AcquireNewTarget();
        }
    }
Esempio n. 4
0
    // called once every second
    void Update()
    {
        // rotate radar at all times
        turretRadar.transform.Rotate(Vector3.forward * turretRadarRotateSpeed, Space.Self);

        // rotate head at all times
        rotateTurretHead();

        // get target position
        target = targetObject.transform.position;

        // find the distance from turret to target
        targetDistance = Vector3.Distance(gameObject.transform.position, target);
        Debug.Log(targetObject.name + " Distance: " + targetDistance);

        // find if target is in range
        targetInRange = (targetDistance < turretRange) ? true : false;

        // tracking target rotate accordingly
        if (targetInRange)
        {
            // rotate base of turret
            target.y           = transform.position.y;
            targetRotation     = Quaternion.LookRotation(target - transform.position);
            transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * lookSpeed);

            // ToDo rotate turretHead along rotation.x to align with target

            // fire primary
            weaponsController.FirePrimaryWeapon();

            // rapid fire secondary
            for (int i = 0; i < 5; i++)
            {
                weaponsController.FireSecondaryWeapon();
            }
        }
        else // not tracking target... rotate casually
        {
            // auto rotate base of turret
            transform.Rotate(Vector3.up * turretRotateSpeed, Space.Self);
        }
    }
Esempio n. 5
0
    void Update()
    {
        if (Time.timeScale == 0)
        {
            return;
        }

        if (Input.GetButton("Fire1"))
        {
            weaponsController.FirePrimaryWeapon();
        }
        if (Input.GetButton("Fire2"))
        {
            weaponsController.FireSecondaryWeapon();
        }
        if (Input.GetButton("Fire3"))
        {
            weaponsController.FireTertiaryWeapon();
        }
    }
    void Update()
    {
        bossHealth.text = myHealth.CurrentHealth.ToString();
        if (shieldGeneratorHealth.CurrentHealth <= 0 && phase == 1)
        {
            phase = 2;
            StartSecondPhase();
        }
        if (jumpDriveHealth.CurrentHealth <= 0 && phase == 2)
        {
            StopCoroutine(SecondPhaseTimer());
            phase = 3; StartThirdPhase();
        }
        if (target != null && target.name != "ai_waypoint" &&
            Vector3.Angle(transform.forward, target.transform.position - transform.position) < 30.0f)
        {
            weaponsController.FirePrimaryWeapon();
        }

        targetTimer += Time.deltaTime;
    }
Esempio n. 7
0
 void Update()
 {
     weaponsController.FirePrimaryWeapon();
 }