using UnityEngine;
using System.Collections;
public class ShakeCameraOnCollisionWithTags : MonoBehaviour {
public float shakeMagnitude = 1.0f;
public float shakeTime = 1.0f;
public string[] collideWithTags;
private float shakeTimer = 0;
private Vector3 originalPosition;
// Update is called once per frame
void Update ()
{
if(shakeTimer > 0)
{
Vector3 newPosition = originalPosition;
newPosition += Random.insideUnitSphere*shakeMagnitude;
Camera.main.transform.position = newPosition;
shakeTimer-=Time.deltaTime;
if(shakeTimer < 0)
{
Camera.main.transform.position = originalPosition;
}
}
}
void OnCollisionEnter( Collision collision )
{
foreach(string tag in collideWithTags)
{
if(collision.collider.tag == tag)
{
shakeTimer = shakeTime;
originalPosition = Camera.main.transform.position;
}
}
}
}