Exemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        sortList = gameObject.GetComponent <Octo_sort>();


        if (target != null && target.gameObject.activeSelf == true)
        {
            //transform.LookAt(target);
            Vector3 targetDir = target.position - transform.position;
            float   turnstep  = 0.5f * Time.deltaTime;
            Vector3 newDir    = Vector3.RotateTowards(transform.forward, targetDir, turnstep, 0.0F);
            //Debug.DrawRay(transform.position, newDir, Color.red);
            transform.rotation = Quaternion.LookRotation(newDir);
        }
        else if (target == null || !target.gameObject.activeSelf == true)
        {
            Pool   = sortList.passZone();
            target = Pool.lockon(transform);
        }

        if (target == null)
        {
            target = forward;
        }
        transform.position = Vector3.MoveTowards(transform.position, target.position, step);
    }
Exemplo n.º 2
0
    IEnumerator fire2()
    {
        pace2  = false;
        target = aimZone.lockon(scope.transform);
        //bullet.SetActive(true);
        ammo2 = bulletList2.GetBullet();

        /*
         * if (bul1) {
         *  bullet.GetComponent<TrailRenderer>().Clear();
         *  bullet.GetComponent<Rigidtransform>().velocity = Vector3.zero;
         *  bullet.GetComponent<Rigidtransform>().angularVelocity = Vector3.zero;
         *
         * }
         */
        bulletList2.startBullet(foward.transform);
        ammo2.GetComponent <HomingScipt>().setTarget(target);
        StartCoroutine(off(ammo2, bTime2));

        yield return(firerate2);

        pace2 = true;
        ammo  = null;
    }