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