// Start is called before the first frame update void Start() { timer = 0; anim = transform.GetComponent <Animator>(); bullet = Bullets[0]; Plane.SetActive(false); Particel.SetActive(false); Projector.SetActive(false); ShotParticel.SetActive(false); OnShotSpecial = false; }
void Update() { if (shoot == true) { timer += Time.deltaTime; if (timer > 0.5f) { GameObject go = Instantiate(bullet); go.transform.position = SpawnPoint.position; Rigidbody rb = go.transform.GetComponent <Rigidbody>(); rb.AddForce(transform.forward * 10f, ForceMode.Impulse); shoot = false; timer = 0; } } if (specialShoot == true) { Projector.SetActive(true); Particel.SetActive(true); Plane.SetActive(true); timer += Time.deltaTime; if (timer > 2.9f) { //Effect specialShoot = false; timer = 0; Projector.SetActive(false); Particel.SetActive(false); Plane.SetActive(false); ShotParticel.SetActive(false); OnShotSpecial = false; } else if (timer > 2.4f) { if (OnShotSpecial == false) { OnShotSpecial = true; ShotParticel.SetActive(true); //SHoot GameObject go = Instantiate(SpecialBullet); go.transform.position = SpawnPoint.position; Rigidbody rb = go.transform.GetComponent <Rigidbody>(); rb.AddForce(transform.forward * 10f, ForceMode.Impulse); } ShotParticel.transform.rotation = SpawnPoint.rotation; } } }