jimmy tremblay-Bernier c1bf5a4ca1 initial commit
2022-03-12 22:04:30 -04:00

58 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OilCollider : MonoBehaviour
{
private ParticleSystem part;
public List<ParticleCollisionEvent> collisionEvents;
public GameObject fxExplosion;
private bool collided = false;
public GameObject pf;
void Start()
{
part = GetComponent<ParticleSystem>();
collisionEvents = new List<ParticleCollisionEvent>();
}
void OnParticleCollision(GameObject other)
{
{
int eventCount = ParticlePhysicsExtensions.GetCollisionEvents(part, other, collisionEvents);
for (int i = 0; i < collisionEvents.Count; i++)
{
if (!collided)
{
foreach (Transform child in transform)
{
if (!child.gameObject.GetComponent<ParticleSystem>())
{
Destroy(child.gameObject);
}
}
ParticleCollisionEvent collision = collisionEvents[i];
Vector3 point = collision.intersection;
GameObject collider = Instantiate(pf, part.transform);
collider.transform.position = point;
collider.transform.rotation = Quaternion.identity;
collided = true;
StartCoroutine(pauseSpill());
}
}
}
}
private IEnumerator pauseSpill()
{
yield return new WaitForSeconds(1.7f);
part.Pause();
collided = false;
AudioSource cranking = GameObject.Find("SFX/OilSpill").GetComponent<AudioSource>();
if (cranking.isPlaying)
cranking.Stop();
}
}