public class DeathCheck : MonoBehaviour
{
public GameObject paintBall;
public GameObject expEffect;
public GameObject newPlayer;
public AudioSource splatSound;
public Transform shotPoint;
public Transform spawnPoint;
public float ExpDeviation;
// Update is called once per frame
void Update()
{
if (Input.GetButton("Fire1"))
{
Death();
}
}
void OnCollisionEnter2D(Collision2D collision)
{
if(collision.gameObject.tag == "Deadly")
{
Death();
}
}
void Death()
{
Destroy(gameObject);
Debug.Log("Boom!");
splatSound.Play();
//Creates 20 balls with random rotations
for (int i = 0; i < 20; i++)
{
float dev = Random.Range(-ExpDeviation/2, ExpDeviation/2);
float rotZ = i * 18 + dev;
transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
Instantiate(paintBall, shotPoint.position, transform.rotation);
}
//Explotion Effect
Instantiate(expEffect, shotPoint.position, transform.rotation);
Respawn();
}
void Respawn()
{
Instantiate(newPlayer, spawnPoint.position, Quaternion.identity);
}
}
Prefab’s components are enabled
All the clone’s components are disabled