void Update() { if (cooldownTimer < cooldown) { cooldownTimer += Time.deltaTime; } else if (firing) { cooldownTimer = 0.0f; for (int i = 0; i < locations.Length; i++) { Laser laser = Instantiate(laserPrefab, locations[i].position, locations[i].rotation) as Laser; laser.owner = ship; /* Initialize the laser's speed */ Rigidbody laserBody = laser.GetComponent <Rigidbody>(); laserBody.velocity = transform.forward * motor.getCurrentSpeed() + transform.forward.normalized * bulletSpeed; /* Ignore collisions with the firing ship */ foreach (Collider collider in colliders) { Physics.IgnoreCollision(laser.transform.GetChild(0).GetComponent <Collider>(), collider); } } if (OnShoot != null) { OnShoot(); } } }