private void MissileShoot() { if (currentWait > 0) { return; } float angle = Vector3.Angle(cannon.right, transform.right); angle = Mathf.Abs(angle); if (angle > 90) { angle -= 90; } if (angle > 70 || angle < 30) { return; } currentWait = 5; MiniMissileController missile = ObjectPooler.PoolObject("MiniMissile").GetComponent <MiniMissileController>(); missile.transform.position = missileShotPoint.transform.position; missile.transform.rotation = Quaternion.Euler(0, 0, cannon.rotation.eulerAngles.z - 90); //print(cannon.rotation.eulerAngles.z); missile.gameObject.SetActive(true); missile.ResetEntity(); }
private void Shoot() { foreach (Transform t in shootPoints) { t.gameObject.SetActive(true); } shootPoints[currentCycle].gameObject.SetActive(false); MiniMissileController miniMissile = ObjectPooler.PoolObject("MiniMissile").GetComponent <MiniMissileController>(); miniMissile.ResetEntity(); miniMissile.transform.position = shootPoints[currentCycle].position; miniMissile.transform.rotation = shootPoints[currentCycle].transform.rotation; currentCycle++; currentCycle = currentCycle >= shootPoints.Length ? 0 : currentCycle; }