My character has a grenade that explodes on collision. I’m having some trouble getting my explosion sound to play after the grenade explodes. Any advice?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class grenade : MonoBehaviour
{
private AudioSource explosionSound1;
public int damage = 40;
public float Speed = 4;
public Vector3 LaunchOffset;
public bool Thrown;
public GameObject explosion;
// Start is called before the first frame update
private void Start()
{
explosionSound1 = GetComponent<AudioSource>();
//player = playerObject.GetComponent<player_character>();
if (Thrown) { //if (Thrown && player.transform.localScale.x == 50)
var direction = transform.right + Vector3.up;
GetComponent<Rigidbody2D>().AddForce(direction * Speed, ForceMode2D.Impulse);
Destroy(gameObject, 5); // destroys in 5 seconds
}
transform.Translate(LaunchOffset);
}
// Update is called once per frame
void Update()
{
if (!Thrown) {
transform.position += -transform.right * Speed * Time.deltaTime;
}
}
private void OnCollisionEnter2D(Collision2D collision)
{
var enemy = collision.collider.GetComponent<enemy_drone_1>();
if (enemy)
{
//explosionSound1.Play();
enemy.TakeDamage(damage);
explosionSound1.PlayOneShot(explosionSound1.clip);
}
Instantiate(explosion, transform.position, transform.rotation);
Destroy(gameObject);
}
}