UnityGameProjectsCode / Rise2Point0Game / Player / PlayerImpactEffect.cs
PlayerImpactEffect.cs
Raw
using UnityEngine;

public class PlayerImpactEffect : MonoBehaviour
{
    private MultipleAudioClips mClips;
    public GameObject impactParticles;
    private ApplyForceToPlayer applyForce;

    private void Awake()
    {
        mClips = GetComponent<MultipleAudioClips>();
    }

    private void Start()
    {
        applyForce = ObjectManager.GetObject(3).GetComponent<ApplyForceToPlayer>();
    }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        int clipAmt = mClips.GetClipListSize();

        int randomClip = Random.Range(0, clipAmt);

        mClips.PlayClip(randomClip);

        Instantiate(impactParticles as GameObject, collision.GetContact(0).point, Quaternion.identity);

        applyForce.ResetCoolDown();
    }

    public void SetNewImpactParticles(GameObject newParticles)
    {
        impactParticles = newParticles;
    }
}