//public void OnTriggerStay2D(Collider2D hit) { OnTriggerEnter2D(hit); } public void OnTriggerEnter2D(Collider2D hit) { PlayerHealthScript target = hit.gameObject.GetComponent <PlayerHealthScript>(); if (target) { target.GetComponent <SpriteRenderer> ().sortingLayerName = behindWaterLayer; target.GetComponent <PlayerMover>().dashTrail.drawTrail = false; tripScript.tripDashTrail.enabled = false; float surfaceHeight = GetComponent <SpriteRenderer>().bounds.size.y / 2 + transform.position.y; float spreadIncrement = 0.1f; float spreadLeft = 0; float spreadRight = 0; for (int i = 0; i < splashPool.Length; i++) { float x = hit.gameObject.transform.position.x; if (i != 0) { if (i % 2 == 0) //On even number, increase rightIncrement { spreadRight += spreadIncrement; x += spreadRight; } else //On odd number, decrease leftIncrement { spreadLeft -= spreadIncrement; x += spreadLeft; } } Vector3 splashPosition = new Vector3(x, surfaceHeight, -2f); splashPool[i].position = splashPosition; //Debug.Log(leftIncrement + " " + rightIncrement); ParticleSystem[] particleSystems = splashPool[i].gameObject.GetComponentsInChildren <ParticleSystem>(); foreach (ParticleSystem particleSystem in particleSystems) { particleSystem.Play(); } } target.DrownPlayer(); } }