This function controls the shooting graphics:Â
void Effect (Vector3 hitPos, Vector3 hitNormal)
{
Transform trail = Instantiate (BulletTrailPrefab, firePoint.position, firePoint.rotation) as Transform;
LineRenderer lr = trail.GetComponent<LineRenderer>();
if (lr != null)
{
// SET POSITIONS
lr.SetPosition(0, firePoint.position);
lr.SetPosition(1, hitPos);
}
Destroy(trail.gameObject, 0.04f);
if (hitNormal != new Vector3 (9999, 9999, 9999))
{
Transform hitParticle = Instantiate(hitPrefab, hitPos, Quaternion.FromToRotation(Vector3.right, hitNormal)) as Transform; //adjust rotation by 'Vector3.[direction]
Destroy(hitParticle.gameObject, 1f);
}
Transform clone = (Transform) Instantiate (MuzzleFlashPrefab, firePoint.position, firePoint.rotation);
clone.parent = firePoint;
float size = Random.Range (0.6f, 0.9f);
clone.localScale = new Vector3 (size, size, size);
Destroy (clone.gameObject, 0.02f);
//Shake the camera
camShake.Shake(camShakeAmount, camShakeLength);
}