private void Fire() { //Debug.Log("Firing " + Name ); // instantiate projectile ProjectileController t = Instantiate(Projectile); t.transform.position = FirePoint.position; t.transform.rotation = RotationPoint.rotation; ProjectileController projectile = t.GetComponent <ProjectileController>(); // at the moment no friendly fire, bullets will only hit enemies projectile.LayerMask = (transform.gameObject.layer == GameManager.PLAYER_LAYER ? 1 << GameManager.ENEMY_LAYER : 1 << GameManager.PLAYER_LAYER); projectile.Damage = BaseDamage; projectile.Range = GetRange(); projectile.SetSpeed(ProjectileSpeed); MeshRenderer[] renderers = projectile.GetComponentsInChildren <MeshRenderer>(); foreach (MeshRenderer renderer in renderers) { renderer.material.SetColor("_TintColor", _laserColor); } _timeSinceLastShot -= TimeBetweenShots; _shotCharged = false; MuzzleFlareParticleSystem.Play(); }